From cd8c14074b2fa29c5f6b2ccb3a7c47b5423b4e0e Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Mon, 23 Mar 2020 13:59:47 +0100 Subject: [PATCH] [ML] fix typing --- x-pack/plugins/ml/common/types/modules.ts | 8 ++++++-- .../ml/server/models/data_recognizer/data_recognizer.ts | 6 ++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/ml/common/types/modules.ts b/x-pack/plugins/ml/common/types/modules.ts index 900bde0c222c4..3288f06b578b1 100644 --- a/x-pack/plugins/ml/common/types/modules.ts +++ b/x-pack/plugins/ml/common/types/modules.ts @@ -90,9 +90,13 @@ export interface DataRecognizerConfigResponse { }; } -export type GeneralJobsOverride = Partial>; +export type JobOverride = Partial; +export type GeneralJobsOverride = Omit; +export type JobSpecificOverride = JobOverride & { job_id: Job['job_id'] }; -export type JobOverride = Partial & { job_id: Job['job_id'] }; +export function isGeneralJobOverride(override: JobOverride): override is GeneralJobsOverride { + return override.job_id === undefined; +} export type GeneralDatafeedsOverride = Partial>; diff --git a/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts b/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts index 5c7178fc3b48f..2f9ccb5c45df0 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts +++ b/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts @@ -25,6 +25,8 @@ import { KibanaObjectResponse, DataRecognizerConfigResponse, GeneralDatafeedsOverride, + JobSpecificOverride, + isGeneralJobOverride, } from '../../../common/types/modules'; import { getLatestDataOrBucketTimestamp, prefixDatafeedId } from '../../../common/util/job_utils'; import { mlLog } from '../../client/log'; @@ -1090,10 +1092,10 @@ export class DataRecognizer { // separate all the overrides. // the overrides which don't contain a job id will be applied to all jobs in the module const generalOverrides: GeneralJobsOverride[] = []; - const jobSpecificOverrides: JobOverride[] = []; + const jobSpecificOverrides: JobSpecificOverride[] = []; overrides.forEach(override => { - if (override.job_id === undefined) { + if (isGeneralJobOverride(override)) { generalOverrides.push(override); } else { jobSpecificOverrides.push(override);