Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { useKibana } from '../../../common/lib/kibana';

export const TopValuesPopover = React.memo(() => {
const { pathname } = useLocation();
const { browserFields, indexPattern } = useSourcererDataView(getScopeFromPath(pathname));
const { browserFields, sourcererDataView } = useSourcererDataView(getScopeFromPath(pathname));
const {
services: { topValuesPopover },
} = useKibana();
Expand All @@ -43,7 +43,7 @@ export const TopValuesPopover = React.memo(() => {
field={data.fieldName}
scopeId={data.scopeId}
toggleTopN={onClose}
indexPattern={indexPattern}
dataViewSpec={sourcererDataView}
browserFields={browserFields}
/>
</EuiWrappingPopover>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,18 +189,18 @@ const AttackDiscoveryPageComponent: React.FC = () => {

const pageTitle = useMemo(() => <PageTitle />, []);

const { indexPattern } = useSourcererDataView();
const { sourcererDataView } = useSourcererDataView();

// filterQuery is the combined search bar query and filters in ES format:
const [filterQuery, kqlError] = useMemo(
() =>
convertToBuildEsQuery({
config: getEsQueryConfig(uiSettings),
indexPattern,
dataViewSpec: sourcererDataView,
queries: [query ?? getDefaultQuery()], // <-- search bar query
filters: filters ?? [], // <-- search bar filters
}),
[filters, indexPattern, query, uiSettings]
[filters, sourcererDataView, query, uiSettings]
);

// renders a toast if the filter query is invalid:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export const CreateFlyout: React.FC<Props> = React.memo(({ onClose }) => {
http,
});

const { indexPattern } = useSourcererDataView();
const { sourcererDataView } = useSourcererDataView();

const { mutateAsync: createAttackDiscoverySchedule, isLoading: isLoadingQuery } =
useCreateAttackDiscoverySchedule();
Expand All @@ -62,7 +62,7 @@ export const CreateFlyout: React.FC<Props> = React.memo(({ onClose }) => {
scheduleData,
alertsIndexPattern ?? '',
connector,
indexPattern,
sourcererDataView,
uiSettings
);
await createAttackDiscoverySchedule({ scheduleToCreate });
Expand All @@ -76,7 +76,7 @@ export const CreateFlyout: React.FC<Props> = React.memo(({ onClose }) => {
alertsIndexPattern,
createAttackDiscoverySchedule,
onClose,
indexPattern,
sourcererDataView,
uiSettings,
]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ export const DetailsFlyout: React.FC<Props> = React.memo(({ scheduleId, onClose
id: scheduleId,
});

const { indexPattern } = useSourcererDataView();
const { sourcererDataView } = useSourcererDataView();

const [isEditing, setIsEditing] = useState(false);

Expand All @@ -83,7 +83,7 @@ export const DetailsFlyout: React.FC<Props> = React.memo(({ scheduleId, onClose
scheduleData,
alertsIndexPattern ?? '',
connector,
indexPattern,
sourcererDataView,
uiSettings
);
await updateAttackDiscoverySchedule({ id: scheduleId, scheduleToUpdate });
Expand All @@ -95,7 +95,7 @@ export const DetailsFlyout: React.FC<Props> = React.memo(({ scheduleId, onClose
[
aiConnectors,
uiSettings,
indexPattern,
sourcererDataView,
scheduleId,
alertsIndexPattern,
updateAttackDiscoverySchedule,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
*/

import type { IUiSettingsClient } from '@kbn/core/public';
import type { DataViewSpec } from '@kbn/data-plugin/common';
import type { AIConnector } from '@kbn/elastic-assistant';
import type { DataViewBase } from '@kbn/es-query';

import { convertFormDataInBaseSchedule } from './convert_form_data';
import { convertToBuildEsQuery } from '../../../../../common/lib/kuery';
Expand Down Expand Up @@ -47,7 +47,7 @@ describe('convertFormDataInBaseSchedule', () => {
},
'.alert-*',
{} as AIConnector,
{} as DataViewBase,
{} as DataViewSpec,
{
get: jest.fn(),
} as unknown as IUiSettingsClient
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
*/

import type { IUiSettingsClient } from '@kbn/core/public';
import type { DataViewSpec } from '@kbn/data-plugin/common';
import { getEsQueryConfig } from '@kbn/data-plugin/common';
import type { AIConnector } from '@kbn/elastic-assistant';
import type { DataViewBase } from '@kbn/es-query';

import { convertToBuildEsQuery } from '../../../../../common/lib/kuery';
import type { AttackDiscoveryScheduleSchema } from '../edit_form/types';
Expand All @@ -19,14 +19,14 @@ export const convertFormDataInBaseSchedule = (
scheduleData: AttackDiscoveryScheduleSchema,
alertsIndexPattern: string,
connector: AIConnector,
indexPattern: DataViewBase,
dataViewSpec: DataViewSpec,
uiSettings: IUiSettingsClient
) => {
const alertsSelectionSettings = scheduleData.alertsSelectionSettings;

const [filterQuery, kqlError] = convertToBuildEsQuery({
config: getEsQueryConfig(uiSettings),
indexPattern,
dataViewSpec,
queries: [alertsSelectionSettings.query],
filters: alertsSelectionSettings.filters,
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,8 @@ const StatefulEventsViewerComponent: React.FC<EventsViewerProps & PropsFromRedux
const {
browserFields,
dataViewId,
indexPattern,
sourcererDataView,
selectedPatterns,
sourcererDataView,
dataViewId: selectedDataViewId,
loading: isLoadingIndexPattern,
} = useSourcererDataView(sourcererScope);
Expand Down Expand Up @@ -234,12 +233,12 @@ const StatefulEventsViewerComponent: React.FC<EventsViewerProps & PropsFromRedux
dataProviders: [],
filters: globalFilters,
from: start,
indexPattern,
dataViewSpec: sourcererDataView,
kqlMode: 'filter',
kqlQuery: query,
to: end,
}),
[esQueryConfig, browserFields, globalFilters, start, indexPattern, query, end]
[esQueryConfig, browserFields, globalFilters, start, sourcererDataView, query, end]
);

const canQueryTimeline = useMemo(
Expand Down Expand Up @@ -281,7 +280,7 @@ const StatefulEventsViewerComponent: React.FC<EventsViewerProps & PropsFromRedux
id: tableId,
indexNames: indexNames ?? selectedPatterns,
limit: itemsPerPage,
runtimeMappings: sourcererDataView?.runtimeFieldMap as RunTimeMappings,
runtimeMappings: sourcererDataView.runtimeFieldMap as RunTimeMappings,
skip: !canQueryTimeline,
sort: sortField,
startDate: start,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ const InsightEditorComponent = ({
onCancel,
}: EuiMarkdownEditorUiPluginEditorProps<InsightComponentProps & { relativeTimerange: string }>) => {
const isEditMode = node != null;
const { indexPattern } = useSourcererDataView(SourcererScopeName.default);
const { sourcererDataView } = useSourcererDataView(SourcererScopeName.default);
const {
unifiedSearch: {
ui: { FiltersBuilderLazy },
Expand Down Expand Up @@ -400,7 +400,7 @@ const InsightEditorComponent = ({
);
}, [labelController.field.value, providers, dataView]);
const filtersStub = useMemo(() => {
const index = indexPattern && indexPattern.getName ? indexPattern.getName() : '*';
const index = sourcererDataView.name ?? '*';
return [
{
$state: {
Expand All @@ -414,7 +414,7 @@ const InsightEditorComponent = ({
},
},
];
}, [indexPattern]);
}, [sourcererDataView]);
const isPlatinum = useLicense().isAtLeast('platinum');

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export const useInsightQuery = ({
}: UseInsightQuery): UseInsightQueryResult => {
const { uiSettings } = useKibana().services;
const esQueryConfig = useMemo(() => getEsQueryConfig(uiSettings), [uiSettings]);
const { browserFields, selectedPatterns, indexPattern, dataViewId } = useSourcererDataView(
const { browserFields, selectedPatterns, sourcererDataView, dataViewId } = useSourcererDataView(
SourcererScopeName.timeline
);
const [hasError, setHasError] = useState(false);
Expand All @@ -51,7 +51,7 @@ export const useInsightQuery = ({
const parsedCombinedQueries = combineQueries({
config: esQueryConfig,
dataProviders,
indexPattern,
dataViewSpec: sourcererDataView,
browserFields,
filters,
kqlQuery: {
Expand All @@ -66,7 +66,7 @@ export const useInsightQuery = ({
setHasError(true);
return null;
}
}, [browserFields, dataProviders, esQueryConfig, hasError, indexPattern, filters]);
}, [browserFields, dataProviders, esQueryConfig, hasError, sourcererDataView, filters]);

const [dataLoadingState, { events, totalCount }] = useTimelineEvents({
dataViewId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { TableId } from '@kbn/securitysolution-data-table';

import { TimelineId } from '../../../../common/types/timeline';
import { mockBrowserFields } from '../../containers/source/mock';
import { mockGlobalState, TestProviders, mockIndexPattern, createMockStore } from '../../mock';
import { mockGlobalState, TestProviders, createMockStore, mockDataViewSpec } from '../../mock';
import type { State } from '../../store';
import { TopN } from './top_n';
import { detectionAlertsTables } from './helpers';
Expand Down Expand Up @@ -153,7 +153,7 @@ const store = createMockStore(state);
const testProps = {
browserFields: mockBrowserFields,
field,
indexPattern: mockIndexPattern,
indexPattern: mockDataViewSpec,
scopeId: TableId.hostsPageEvents,
toggleTopN: jest.fn(),
onFilterAdded: jest.fn(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import React, { useMemo } from 'react';
import type { ConnectedProps } from 'react-redux';
import { connect } from 'react-redux';

import type { DataViewBase, Filter, Query } from '@kbn/es-query';
import { getEsQueryConfig } from '@kbn/data-plugin/common';
import type { Filter, Query } from '@kbn/es-query';
import { type DataViewSpec, getEsQueryConfig } from '@kbn/data-plugin/common';
import { isActiveTimeline } from '../../../helpers';
import { InputsModelId } from '../../store/inputs/constants';
import { useGlobalTime } from '../../containers/use_global_time';
Expand Down Expand Up @@ -77,7 +77,7 @@ const connector = connect(makeMapStateToProps);
export interface OwnProps {
browserFields: BrowserFields;
field: string;
indexPattern: DataViewBase;
dataViewSpec?: DataViewSpec;
scopeId?: string;
toggleTopN: () => void;
onFilterAdded?: () => void;
Expand All @@ -96,7 +96,7 @@ const StatefulTopNComponent: React.FC<Props> = ({
browserFields,
dataProviders,
field,
indexPattern,
dataViewSpec,
globalFilters = EMPTY_FILTERS,
globalQuery = EMPTY_QUERY,
kqlMode,
Expand All @@ -119,7 +119,7 @@ const StatefulTopNComponent: React.FC<Props> = ({
config: getEsQueryConfig(uiSettings),
dataProviders,
filters: activeTimelineFilters,
indexPattern,
dataViewSpec,
kqlMode,
kqlQuery: {
language: 'kuery',
Expand All @@ -133,7 +133,7 @@ const StatefulTopNComponent: React.FC<Props> = ({
uiSettings,
dataProviders,
activeTimelineFilters,
indexPattern,
dataViewSpec,
kqlMode,
activeTimelineKqlQueryExpression,
]
Expand All @@ -152,7 +152,7 @@ const StatefulTopNComponent: React.FC<Props> = ({
field={field as AlertsStackByField}
filters={isActiveTimeline(scopeId ?? '') ? EMPTY_FILTERS : globalFilters}
from={isActiveTimeline(scopeId ?? '') ? activeTimelineFrom : from}
indexPattern={indexPattern}
dataViewSpec={dataViewSpec}
options={options}
paddingSize={paddingSize}
query={isActiveTimeline(scopeId ?? '') ? EMPTY_QUERY : globalQuery}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import React from 'react';
import { screen, render, waitFor, fireEvent } from '@testing-library/react';

import { TestProviders, mockIndexPattern } from '../../mock';
import { TestProviders, mockDataViewSpec } from '../../mock';

import { allEvents, defaultOptions } from './helpers';
import type { Props as TopNProps } from './top_n';
Expand Down Expand Up @@ -105,7 +105,7 @@ describe('TopN', () => {
field,
filters: [],
from: '2020-04-14T00:31:47.695Z',
indexPattern: mockIndexPattern,
dataViewSpec: mockDataViewSpec,
options: defaultOptions,
query,
setAbsoluteRangeDatePickerTarget: InputsModelId.global,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import { EuiButtonIcon, EuiSuperSelect, useEuiTheme } from '@elastic/eui';
import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { css } from '@emotion/react';

import type { DataViewBase, Filter, Query } from '@kbn/es-query';
import type { Filter, Query } from '@kbn/es-query';
import type { DataViewSpec } from '@kbn/data-plugin/common';
import type { GlobalTimeArgs } from '../../containers/use_global_time';
import { EventsByDataset } from '../../../overview/components/events_by_dataset';
import { SignalsByCategory } from '../../../overview/components/signals_by_category';
Expand Down Expand Up @@ -51,7 +52,7 @@ export interface Props extends Pick<GlobalTimeArgs, 'from' | 'to' | 'deleteQuery
defaultView: TimelineEventsType;
field: AlertsStackByField;
filters: Filter[];
indexPattern: DataViewBase;
dataViewSpec?: DataViewSpec;
options: TopNOption[];
paddingSize?: 's' | 'm' | 'l' | 'none';
query: Query;
Expand All @@ -69,7 +70,7 @@ const TopNComponent: React.FC<Props> = ({
filters,
field,
from,
indexPattern,
dataViewSpec,
options,
paddingSize,
query,
Expand Down Expand Up @@ -122,7 +123,7 @@ const TopNComponent: React.FC<Props> = ({
filters={applicableFilters}
from={from}
headerChildren={headerChildren}
indexPattern={indexPattern}
dataViewSpec={dataViewSpec}
onlyField={field}
paddingSize={paddingSize}
query={query}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jest.mock('../../../../../../sourcerer/containers', () => ({
dataViewId: 'security-solution-my-test',
indicesExist: true,
selectedPatterns: ['signal-index'],
sourcererDataView: {},
}),
}));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jest.mock('../../../../../../sourcerer/containers', () => ({
dataViewId: 'security-solution-my-test',
indicesExist: true,
selectedPatterns: ['signal-index'],
sourcererDataView: {},
}),
}));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jest.mock('../../../../../../sourcerer/containers', () => ({
dataViewId: 'security-solution-my-test',
indicesExist: true,
selectedPatterns: ['signal-index'],
sourcererDataView: {},
}),
}));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ jest.mock('../../../../../../sourcerer/containers', () => ({
dataViewId: 'security-solution-my-test',
indicesExist: true,
selectedPatterns: ['signal-index'],
sourcererDataView: {},
}),
}));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jest.mock('../../../../../sourcerer/containers', () => ({
selectedPatterns: ['auditbeat-mytest-*'],
dataViewId: 'security-solution-my-test',
indicesExist: true,
sourcererDataView: {},
}),
}));

Expand Down
Loading