From e4615a48796c9637926ee86918ee444b4d50915d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20St=C3=BCrmer?= Date: Tue, 18 Jan 2022 19:33:54 +0000 Subject: [PATCH] Deduplicate invalid query symbol --- x-pack/plugins/infra/common/alerting/metrics/types.ts | 4 ++++ .../alerting/inventory/components/expression.tsx | 10 +++++++--- .../alerting/inventory/components/validation.tsx | 11 +++++++---- .../metric_threshold/components/expression.tsx | 3 +-- .../metric_threshold/components/validation.tsx | 11 +++++++---- .../infra/public/alerting/metric_threshold/types.ts | 4 ++-- 6 files changed, 28 insertions(+), 15 deletions(-) diff --git a/x-pack/plugins/infra/common/alerting/metrics/types.ts b/x-pack/plugins/infra/common/alerting/metrics/types.ts index 37bc14431e41ad..0216f63b8f85de 100644 --- a/x-pack/plugins/infra/common/alerting/metrics/types.ts +++ b/x-pack/plugins/infra/common/alerting/metrics/types.ts @@ -108,3 +108,7 @@ export interface CountMetricExpressionParams extends BaseMetricExpressionParams } export type MetricExpressionParams = NonCountMetricExpressionParams | CountMetricExpressionParams; + +export const QUERY_INVALID: unique symbol = Symbol('QUERY_INVALID'); + +export type FilterQuery = string | typeof QUERY_INVALID; diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx index 58721f097dc525..f7d52a1aa95f0f 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx @@ -31,7 +31,12 @@ import { RuleTypeParamsExpressionProps, ThresholdExpression, } from '../../../../../triggers_actions_ui/public'; -import { Comparator, InventoryMetricConditions } from '../../../../common/alerting/metrics'; +import { + Comparator, + FilterQuery, + InventoryMetricConditions, + QUERY_INVALID, +} from '../../../../common/alerting/metrics'; import { SnapshotCustomMetricInput, SnapshotCustomMetricInputRT, @@ -59,7 +64,6 @@ import { convertKueryToElasticSearchQuery } from '../../../utils/kuery'; import { ExpressionChart } from './expression_chart'; import { MetricExpression } from './metric'; import { NodeTypeExpression } from './node_type'; -import { QUERY_INVALID } from './validation'; const FILTER_TYPING_DEBOUNCE_MS = 500; @@ -76,7 +80,7 @@ type Props = Omit< { criteria: Criteria; nodeType: InventoryItemType; - filterQuery?: string | symbol; + filterQuery?: FilterQuery; filterQueryText?: string; sourceId: string; alertOnNoData?: boolean; diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx index 85782a7fa3dab3..e093ea789cf795 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx @@ -7,16 +7,19 @@ import { i18n } from '@kbn/i18n'; import type { ValidationResult } from '../../../../../triggers_actions_ui/public'; -import { Comparator, InventoryMetricConditions } from '../../../../common/alerting/metrics'; - -export const QUERY_INVALID = Symbol('QUERY_INVALID'); +import { + Comparator, + FilterQuery, + InventoryMetricConditions, + QUERY_INVALID, +} from '../../../../common/alerting/metrics'; export function validateMetricThreshold({ criteria, filterQuery, }: { criteria: InventoryMetricConditions[]; - filterQuery?: string | typeof QUERY_INVALID; + filterQuery?: FilterQuery; }): ValidationResult { const validationResult = { errors: {} }; const errors: { diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx index b03b90f6b028b6..e0039c4590069b 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx @@ -29,7 +29,7 @@ import { RuleTypeParams, RuleTypeParamsExpressionProps, } from '../../../../../triggers_actions_ui/public'; -import { Aggregators, Comparator } from '../../../../common/alerting/metrics'; +import { Aggregators, Comparator, QUERY_INVALID } from '../../../../common/alerting/metrics'; import { useSourceViaHttp } from '../../../containers/metrics_source/use_source_via_http'; import { useKibanaContextForPlugin } from '../../../hooks/use_kibana'; import { MetricsExplorerGroupBy } from '../../../pages/metrics/metrics_explorer/components/group_by'; @@ -39,7 +39,6 @@ import { convertKueryToElasticSearchQuery } from '../../../utils/kuery'; import { AlertContextMeta, AlertParams, MetricExpression } from '../types'; import { ExpressionChart } from './expression_chart'; import { ExpressionRow } from './expression_row'; -import { QUERY_INVALID } from './validation'; const FILTER_TYPING_DEBOUNCE_MS = 500; diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx b/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx index ff0f2fbb5a01db..8634c3686087ff 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx @@ -7,16 +7,19 @@ import { i18n } from '@kbn/i18n'; import { ValidationResult } from '../../../../../triggers_actions_ui/public'; -import { Comparator, MetricExpressionParams } from '../../../../common/alerting/metrics'; - -export const QUERY_INVALID = Symbol('QUERY_INVALID'); +import { + Comparator, + FilterQuery, + MetricExpressionParams, + QUERY_INVALID, +} from '../../../../common/alerting/metrics'; export function validateMetricThreshold({ criteria, filterQuery, }: { criteria: MetricExpressionParams[]; - filterQuery?: string | typeof QUERY_INVALID; + filterQuery?: FilterQuery; }): ValidationResult { const validationResult = { errors: {} }; const errors: { diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts b/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts index 4fae8bfacca353..a88dd1d4548b8d 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { MetricExpressionParams } from '../../../common/alerting/metrics'; +import { FilterQuery, MetricExpressionParams } from '../../../common/alerting/metrics'; import { MetricsExplorerSeries } from '../../../common/http_api/metrics_explorer'; import { MetricsExplorerOptions } from '../../pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options'; @@ -54,7 +54,7 @@ export interface ExpressionChartData { export interface AlertParams { criteria: MetricExpression[]; groupBy?: string | string[]; - filterQuery?: string | symbol; + filterQuery?: FilterQuery; sourceId: string; filterQueryText?: string; alertOnNoData?: boolean;