Skip to content

Commit 8ea719c

Browse files
[Logs UI][Metrics UI] Replace usage of deprecated IndexPattern types (#114448)
* [Logs UI][Metrics UI] Replace usage of deprecated IndexPattern types (#107887)
1 parent ab5ecc4 commit 8ea719c

24 files changed

Lines changed: 69 additions & 75 deletions

x-pack/plugins/infra/common/dependency_mocks/index_patterns.ts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,11 @@
77

88
import { from, of } from 'rxjs';
99
import { delay } from 'rxjs/operators';
10-
import {
11-
fieldList,
12-
FieldSpec,
13-
IIndexPattern,
14-
IndexPattern,
15-
IndexPatternsContract,
16-
RuntimeField,
17-
} from 'src/plugins/data/common';
10+
import { DataView, DataViewsContract } from '../../../../../src/plugins/data_views/common';
11+
import { fieldList, FieldSpec, RuntimeField } from '../../../../../src/plugins/data/common';
1812

1913
type IndexPatternMock = Pick<
20-
IndexPattern,
14+
DataView,
2115
| 'fields'
2216
| 'getComputedFields'
2317
| 'getFieldByName'
@@ -27,7 +21,7 @@ type IndexPatternMock = Pick<
2721
| 'title'
2822
| 'type'
2923
>;
30-
type IndexPatternMockSpec = Pick<IIndexPattern, 'id' | 'title' | 'type' | 'timeFieldName'> & {
24+
type IndexPatternMockSpec = Pick<DataView, 'id' | 'title' | 'type' | 'timeFieldName'> & {
3125
fields: FieldSpec[];
3226
};
3327

@@ -71,8 +65,8 @@ export const createIndexPatternsMock = (
7165
asyncDelay: number,
7266
indexPatterns: IndexPatternMock[]
7367
): {
74-
getIdsWithTitle: IndexPatternsContract['getIdsWithTitle'];
75-
get: (...args: Parameters<IndexPatternsContract['get']>) => Promise<IndexPatternMock>;
68+
getIdsWithTitle: DataViewsContract['getIdsWithTitle'];
69+
get: (...args: Parameters<DataViewsContract['get']>) => Promise<IndexPatternMock>;
7670
} => {
7771
return {
7872
async getIdsWithTitle(_refresh?: boolean) {

x-pack/plugins/infra/common/log_sources/resolved_log_source_configuration.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
import { estypes } from '@elastic/elasticsearch';
9-
import { IndexPattern, IndexPatternsContract } from '../../../../../src/plugins/data/common';
9+
import { DataView, DataViewsContract } from '../../../../../src/plugins/data_views/common';
1010
import { ObjectEntries } from '../utility_types';
1111
import { ResolveLogSourceConfigurationError } from './errors';
1212
import {
@@ -21,14 +21,14 @@ export interface ResolvedLogSourceConfiguration {
2121
timestampField: string;
2222
tiebreakerField: string;
2323
messageField: string[];
24-
fields: IndexPattern['fields'];
24+
fields: DataView['fields'];
2525
runtimeMappings: estypes.MappingRuntimeFields;
2626
columns: LogSourceColumnConfiguration[];
2727
}
2828

2929
export const resolveLogSourceConfiguration = async (
3030
sourceConfiguration: LogSourceConfigurationProperties,
31-
indexPatternsService: IndexPatternsContract
31+
indexPatternsService: DataViewsContract
3232
): Promise<ResolvedLogSourceConfiguration> => {
3333
if (sourceConfiguration.logIndices.type === 'index_name') {
3434
return await resolveLegacyReference(sourceConfiguration, indexPatternsService);
@@ -39,7 +39,7 @@ export const resolveLogSourceConfiguration = async (
3939

4040
const resolveLegacyReference = async (
4141
sourceConfiguration: LogSourceConfigurationProperties,
42-
indexPatternsService: IndexPatternsContract
42+
indexPatternsService: DataViewsContract
4343
): Promise<ResolvedLogSourceConfiguration> => {
4444
if (sourceConfiguration.logIndices.type !== 'index_name') {
4545
throw new Error('This function can only resolve legacy references');
@@ -74,7 +74,7 @@ const resolveLegacyReference = async (
7474

7575
const resolveKibanaIndexPatternReference = async (
7676
sourceConfiguration: LogSourceConfigurationProperties,
77-
indexPatternsService: IndexPatternsContract
77+
indexPatternsService: DataViewsContract
7878
): Promise<ResolvedLogSourceConfiguration> => {
7979
if (sourceConfiguration.logIndices.type !== 'index_pattern') {
8080
throw new Error('This function can only resolve Kibana Index Pattern references');
@@ -103,7 +103,7 @@ const resolveKibanaIndexPatternReference = async (
103103
};
104104

105105
// this might take other sources of runtime fields into account in the future
106-
const resolveRuntimeMappings = (indexPattern: IndexPattern): estypes.MappingRuntimeFields => {
106+
const resolveRuntimeMappings = (indexPattern: DataView): estypes.MappingRuntimeFields => {
107107
const { runtimeFields } = indexPattern.getComputedFields();
108108

109109
const runtimeMappingsFromIndexPattern = (

x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_chart.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { mountWithIntl, nextTick } from '@kbn/test/jest';
99
// We are using this inside a `jest.mock` call. Jest requires dynamic dependencies to be prefixed with `mock`
1010
import { coreMock as mockCoreMock } from 'src/core/public/mocks';
1111
import { MetricExpression } from '../types';
12-
import { IIndexPattern } from 'src/plugins/data/public';
12+
import { DataViewBase } from '@kbn/es-query';
1313
import { MetricsSourceConfiguration } from '../../../../common/metrics_sources';
1414
import React from 'react';
1515
import { ExpressionChart } from './expression_chart';
@@ -40,7 +40,7 @@ jest.mock('../hooks/use_metrics_explorer_chart_data', () => ({
4040

4141
describe('ExpressionChart', () => {
4242
async function setup(expression: MetricExpression, filterQuery?: string, groupBy?: string) {
43-
const derivedIndexPattern: IIndexPattern = {
43+
const derivedIndexPattern: DataViewBase = {
4444
title: 'metricbeat-*',
4545
fields: [],
4646
};

x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_chart.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { Axis, Chart, niceTimeFormatter, Position, Settings } from '@elastic/cha
1010
import { first, last } from 'lodash';
1111
import { EuiText } from '@elastic/eui';
1212
import { FormattedMessage } from '@kbn/i18n/react';
13-
import { IIndexPattern } from 'src/plugins/data/public';
13+
import { DataViewBase } from '@kbn/es-query';
1414
import { MetricsSourceConfiguration } from '../../../../common/metrics_sources';
1515
import { Color } from '../../../../common/color_palette';
1616
import { MetricsExplorerRow, MetricsExplorerAggregation } from '../../../../common/http_api';
@@ -34,7 +34,7 @@ import { ThresholdAnnotations } from '../../common/criterion_preview_chart/thres
3434

3535
interface Props {
3636
expression: MetricExpression;
37-
derivedIndexPattern: IIndexPattern;
37+
derivedIndexPattern: DataViewBase;
3838
source: MetricsSourceConfiguration | null;
3939
filterQuery?: string;
4040
groupBy?: string | string[];

x-pack/plugins/infra/public/alerting/metric_threshold/hooks/use_metrics_explorer_chart_data.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* 2.0.
66
*/
77

8-
import { IIndexPattern } from 'src/plugins/data/public';
8+
import { DataViewBase } from '@kbn/es-query';
99
import { useMemo } from 'react';
1010
import { MetricsSourceConfiguration } from '../../../../common/metrics_sources';
1111
import { MetricExpression } from '../types';
@@ -14,7 +14,7 @@ import { useMetricsExplorerData } from '../../../pages/metrics/metrics_explorer/
1414

1515
export const useMetricsExplorerChartData = (
1616
expression: MetricExpression,
17-
derivedIndexPattern: IIndexPattern,
17+
derivedIndexPattern: DataViewBase,
1818
source: MetricsSourceConfiguration | null,
1919
filterQuery?: string,
2020
groupBy?: string | string[]

x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
import createContainer from 'constate';
99
import { useCallback, useState } from 'react';
1010
import useDebounce from 'react-use/lib/useDebounce';
11-
import { esQuery, IIndexPattern, Query } from '../../../../../../../src/plugins/data/public';
11+
import { DataViewBase } from '@kbn/es-query';
12+
import { esQuery, Query } from '../../../../../../../src/plugins/data/public';
1213

1314
type ParsedQuery = ReturnType<typeof esQuery.buildEsQuery>;
1415

@@ -33,7 +34,7 @@ const initialLogFilterState: ILogFilterState = {
3334

3435
const validationDebounceTimeout = 1000; // milliseconds
3536

36-
export const useLogFilterState = ({ indexPattern }: { indexPattern: IIndexPattern }) => {
37+
export const useLogFilterState = ({ indexPattern }: { indexPattern: DataViewBase }) => {
3738
const [logFilterState, setLogFilterState] = useState<ILogFilterState>(initialLogFilterState);
3839

3940
const parseQuery = useCallback(

x-pack/plugins/infra/public/containers/logs/log_source/log_source.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import createContainer from 'constate';
99
import { useCallback, useMemo, useState } from 'react';
1010
import type { HttpHandler } from 'src/core/public';
11-
import { IndexPatternsContract } from '../../../../../../../src/plugins/data/common';
11+
import { DataViewsContract } from '../../../../../../../src/plugins/data_views/public';
1212
import {
1313
LogIndexField,
1414
LogSourceConfigurationPropertiesPatch,
@@ -42,7 +42,7 @@ export const useLogSource = ({
4242
}: {
4343
sourceId: string;
4444
fetch: HttpHandler;
45-
indexPatternsService: IndexPatternsContract;
45+
indexPatternsService: DataViewsContract;
4646
}) => {
4747
const [sourceConfiguration, setSourceConfiguration] = useState<
4848
LogSourceConfiguration | undefined

x-pack/plugins/infra/public/containers/with_kuery_autocompletion.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
*/
77

88
import React from 'react';
9-
import { QuerySuggestion, IIndexPattern, DataPublicPluginStart } from 'src/plugins/data/public';
9+
import { DataViewBase } from '@kbn/es-query';
10+
import { QuerySuggestion, DataPublicPluginStart } from 'src/plugins/data/public';
1011
import {
1112
withKibana,
1213
KibanaReactContextValue,
@@ -21,7 +22,7 @@ interface WithKueryAutocompletionLifecycleProps {
2122
loadSuggestions: (expression: string, cursorPosition: number, maxSuggestions?: number) => void;
2223
suggestions: QuerySuggestion[];
2324
}>;
24-
indexPattern: IIndexPattern;
25+
indexPattern: DataViewBase;
2526
}
2627

2728
interface WithKueryAutocompletionLifecycleState {
@@ -82,6 +83,7 @@ class WithKueryAutocompletionComponent extends React.Component<
8283
query: expression,
8384
selectionStart: cursorPosition,
8485
selectionEnd: cursorPosition,
86+
// @ts-expect-error (until data service updates to new types)
8587
indexPatterns: [indexPattern],
8688
boolFilter: [],
8789
})) || [];

x-pack/plugins/infra/public/containers/with_source/with_source.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import React, { useContext } from 'react';
99

10-
import { IIndexPattern } from 'src/plugins/data/public';
10+
import { DataViewBase } from '@kbn/es-query';
1111
import {
1212
MetricsSourceConfigurationProperties,
1313
PartialMetricsSourceConfigurationProperties,
@@ -21,7 +21,7 @@ interface WithSourceProps {
2121
create: (
2222
sourceProperties: PartialMetricsSourceConfigurationProperties
2323
) => Promise<any> | undefined;
24-
createDerivedIndexPattern: (type: 'metrics') => IIndexPattern;
24+
createDerivedIndexPattern: (type: 'metrics') => DataViewBase;
2525
exists?: boolean;
2626
hasFailed: boolean;
2727
isLoading: boolean;

x-pack/plugins/infra/public/hooks/use_kibana_index_patterns.mock.tsx

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,16 @@ import { from, of } from 'rxjs';
1010
import { delay } from 'rxjs/operators';
1111
import { CoreStart } from '../../../../../src/core/public';
1212
import { FieldSpec } from '../../../../../src/plugins/data/common';
13-
import {
14-
IIndexPattern,
15-
IndexPattern,
16-
IndexPatternField,
17-
IndexPatternsContract,
18-
} from '../../../../../src/plugins/data/public';
13+
import { DataView, DataViewsContract } from '../../../../../src/plugins/data_views/public';
14+
import { DataViewField } from '../../../../../src/plugins/data_views/common';
1915
import { KibanaContextProvider } from '../../../../../src/plugins/kibana_react/public';
2016
import { Pick2 } from '../../common/utility_types';
2117

2218
type MockIndexPattern = Pick<
23-
IndexPattern,
19+
DataView,
2420
'id' | 'title' | 'type' | 'getTimeField' | 'isTimeBased' | 'getFieldByName' | 'getComputedFields'
2521
>;
26-
export type MockIndexPatternSpec = Pick<
27-
IIndexPattern,
28-
'id' | 'title' | 'type' | 'timeFieldName'
29-
> & {
22+
export type MockIndexPatternSpec = Pick<DataView, 'id' | 'title' | 'type' | 'timeFieldName'> & {
3023
fields: FieldSpec[];
3124
};
3225

@@ -59,8 +52,8 @@ export const createIndexPatternsMock = (
5952
asyncDelay: number,
6053
indexPatterns: MockIndexPattern[]
6154
): {
62-
getIdsWithTitle: IndexPatternsContract['getIdsWithTitle'];
63-
get: (...args: Parameters<IndexPatternsContract['get']>) => Promise<MockIndexPattern>;
55+
getIdsWithTitle: DataViewsContract['getIdsWithTitle'];
56+
get: (...args: Parameters<DataViewsContract['get']>) => Promise<MockIndexPattern>;
6457
} => {
6558
return {
6659
async getIdsWithTitle(_refresh?: boolean) {
@@ -85,7 +78,7 @@ export const createIndexPatternMock = ({
8578
fields,
8679
timeFieldName,
8780
}: MockIndexPatternSpec): MockIndexPattern => {
88-
const indexPatternFields = fields.map((fieldSpec) => new IndexPatternField(fieldSpec));
81+
const indexPatternFields = fields.map((fieldSpec) => new DataViewField(fieldSpec));
8982

9083
return {
9184
id,

0 commit comments

Comments
 (0)