From 4e5e3d47536368d79b084c42afd8cc8137f11e8c Mon Sep 17 00:00:00 2001 From: Mikhail Shustov Date: Fri, 4 Jun 2021 16:22:31 +0300 Subject: [PATCH] fix errors in security solution plugins --- .../common/search_strategy/common/index.ts | 2 +- .../search_strategy/security_solution/index.ts | 2 +- .../endpoint/routes/metadata/query_builders.ts | 6 +++--- .../migrations/get_index_versions_by_index.test.ts | 2 +- .../migrations/migration_cleanup.ts | 2 +- .../lib/detection_engine/reference_rules/query.ts | 4 ++-- .../detection_engine/signals/build_events_query.ts | 13 ++++++------- .../signals/search_after_bulk_create.ts | 4 ++-- .../signals/signal_rule_alert_type.test.ts | 4 ++-- .../detection_engine/signals/single_search_after.ts | 5 ++--- .../signals/threat_mapping/create_threat_signals.ts | 2 +- .../server/lib/detection_engine/signals/utils.ts | 5 ++--- .../factory/hosts/authentications/dsl/query.dsl.ts | 2 +- .../hosts/authentications/dsl/query_entities.dsl.ts | 5 ++++- .../hosts/uncommon_processes/dsl/query.dsl.ts | 2 +- 15 files changed, 30 insertions(+), 30 deletions(-) diff --git a/x-pack/plugins/security_solution/common/search_strategy/common/index.ts b/x-pack/plugins/security_solution/common/search_strategy/common/index.ts index e27e9b5173fd5..4fcfbdac3c1b4 100644 --- a/x-pack/plugins/security_solution/common/search_strategy/common/index.ts +++ b/x-pack/plugins/security_solution/common/search_strategy/common/index.ts @@ -70,7 +70,7 @@ export interface PaginationInputPaginated { querySize: number; } -export type DocValueFields = estypes.DocValueField; +export type DocValueFields = estypes.SearchDocValueField; export interface Explanation { value: number; diff --git a/x-pack/plugins/security_solution/common/search_strategy/security_solution/index.ts b/x-pack/plugins/security_solution/common/search_strategy/security_solution/index.ts index 936d9c360afb0..956b785079d8d 100644 --- a/x-pack/plugins/security_solution/common/search_strategy/security_solution/index.ts +++ b/x-pack/plugins/security_solution/common/search_strategy/security_solution/index.ts @@ -83,7 +83,7 @@ export interface RequestBasicOptions extends IEsSearchRequest { timerange: TimerangeInput; filterQuery: ESQuery | string | undefined; defaultIndex: string[]; - docValueFields?: estypes.DocValueField[]; + docValueFields?: estypes.SearchDocValueField[]; factoryQueryType?: FactoryQueryTypes; } diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/metadata/query_builders.ts b/x-pack/plugins/security_solution/server/endpoint/routes/metadata/query_builders.ts index 51e3495938606..f0950e5fb79ba 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/metadata/query_builders.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/metadata/query_builders.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SearchRequest, SortContainer } from '@elastic/elasticsearch/api/types'; +import type { estypes } from '@elastic/elasticsearch'; import { KibanaRequest } from '../../../../../../../src/core/server'; import { esKuery } from '../../../../../../../src/plugins/data/server'; import { EndpointAppContext, MetadataQueryStrategy } from '../../types'; @@ -20,7 +20,7 @@ export interface QueryBuilderOptions { // using unmapped_type avoids errors when the given field doesn't exist, and sets to the 0-value for that type // effectively ignoring it // https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html#_ignoring_unmapped_fields -const MetadataSortMethod: SortContainer[] = [ +const MetadataSortMethod: estypes.SearchSortContainer[] = [ { 'event.created': { order: 'desc', @@ -147,7 +147,7 @@ function buildQueryBody( export function getESQueryHostMetadataByID( agentID: string, metadataQueryStrategy: MetadataQueryStrategy -): SearchRequest { +): estypes.SearchRequest { return { body: { query: { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/get_index_versions_by_index.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/get_index_versions_by_index.test.ts index 8e99cb32390e1..32b3ccbf17b57 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/get_index_versions_by_index.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/get_index_versions_by_index.test.ts @@ -43,9 +43,9 @@ describe('getIndexVersionsByIndex', () => { }); it('properly transforms the response', async () => { + // @ts-expect-error mocking only what we need esClient.indices.getMapping.mockResolvedValue({ body: { - // @ts-expect-error mocking only what we need index1: { mappings: { _meta: { version: 3 } } }, }, }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/migration_cleanup.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/migration_cleanup.ts index 9c40778d46704..00446a204ca89 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/migration_cleanup.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/migrations/migration_cleanup.ts @@ -86,7 +86,7 @@ export const applyMigrationCleanupPolicy = async ({ await esClient.indices.putSettings({ index, body: { - index: { + settings: { lifecycle: { name: getMigrationCleanupPolicyName(alias), }, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/reference_rules/query.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/reference_rules/query.ts index 3911dcabc34de..04bfa78f883f0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/reference_rules/query.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/reference_rules/query.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { QueryContainer } from '@elastic/elasticsearch/api/types'; +import type { estypes } from '@elastic/elasticsearch'; import { schema } from '@kbn/config-schema'; import { Logger } from '@kbn/logging'; import { ESSearchRequest } from 'typings/elasticsearch'; @@ -60,7 +60,7 @@ export const createQueryAlertType = (ruleDataClient: RuleDataClient, logger: Log indexPattern, { query: customQuery, language: 'kuery' }, [] - ) as QueryContainer; + ) as estypes.QueryDslQueryContainer; const query: ESSearchRequest = { body: { query: esQuery, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/build_events_query.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/build_events_query.ts index 86fb51e4785ad..43b9495101fa7 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/build_events_query.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/build_events_query.ts @@ -5,7 +5,6 @@ * 2.0. */ import type { estypes } from '@elastic/elasticsearch'; -import { SortResults } from '@elastic/elasticsearch/api/types'; import { isEmpty } from 'lodash'; import { SortOrderOrUndefined, @@ -13,14 +12,14 @@ import { } from '../../../../common/detection_engine/schemas/common/schemas'; interface BuildEventsSearchQuery { - aggregations?: Record; + aggregations?: Record; index: string[]; from: string; to: string; - filter?: estypes.QueryContainer; + filter?: estypes.QueryDslQueryContainer; size: number; sortOrder?: SortOrderOrUndefined; - searchAfterSortIds: SortResults | undefined; + searchAfterSortIds: estypes.SearchSortResults | undefined; timestampOverride: TimestampOverrideOrUndefined; } @@ -43,7 +42,7 @@ export const buildEventsSearchQuery = ({ format: 'strict_date_optional_time', })); - const rangeFilter: estypes.QueryContainer[] = + const rangeFilter: estypes.QueryDslQueryContainer[] = timestampOverride != null ? [ { @@ -93,9 +92,9 @@ export const buildEventsSearchQuery = ({ }, ]; - const filterWithTime: estypes.QueryContainer[] = [ + const filterWithTime: estypes.QueryDslQueryContainer[] = [ // but tests contain undefined, so I suppose it's desired behaviour - // @ts-expect-error undefined in not assignable to QueryContainer + // @ts-expect-error undefined in not assignable to QueryDslQueryContainer filter, { bool: { filter: [{ bool: { should: [...rangeFilter], minimum_should_match: 1 } }] } }, ]; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts index 08f8abe384d0f..b0dcc1810a639 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts @@ -6,7 +6,7 @@ */ import { identity } from 'lodash'; -import { SortResults } from '@elastic/elasticsearch/api/types'; +import type { estypes } from '@elastic/elasticsearch'; import { singleSearchAfter } from './single_search_after'; import { singleBulkCreate } from './single_bulk_create'; import { filterEventsAgainstList } from './filters/filter_events_against_list'; @@ -44,7 +44,7 @@ export const searchAfterAndBulkCreate = async ({ let toReturn = createSearchAfterReturnType(); // sortId tells us where to start our next consecutive search_after query - let sortIds: SortResults | undefined; + let sortIds: estypes.SearchSortResults | undefined; let hasSortId = true; // default to true so we execute the search on initial run // signalsCreatedCount keeps track of how many signals we have created, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts index 66f7d41df94ab..823d694f36514 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts @@ -157,7 +157,7 @@ describe('signal_rule_alert_type', () => { (mlExecutor as jest.Mock).mockClear(); (mlExecutor as jest.Mock).mockResolvedValue(executorReturnValue); (parseScheduleDates as jest.Mock).mockReturnValue(moment(100)); - const value: Partial> = { + const value: Partial> = { statusCode: 200, body: { indices: ['index1', 'index2', 'index3', 'index4'], @@ -174,7 +174,7 @@ describe('signal_rule_alert_type', () => { }, }; alertServices.scopedClusterClient.asCurrentUser.fieldCaps.mockResolvedValue( - value as ApiResponse + value as ApiResponse ); const ruleAlert = getAlertMock(getQueryRuleParams()); alertServices.savedObjectsClient.get.mockResolvedValue({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_search_after.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_search_after.ts index ae99b308040e9..e4f96511dc942 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_search_after.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_search_after.ts @@ -6,7 +6,6 @@ */ import type { estypes } from '@elastic/elasticsearch'; import { performance } from 'perf_hooks'; -import { SearchRequest, SortResults } from '@elastic/elasticsearch/api/types'; import { AlertInstanceContext, AlertInstanceState, @@ -24,7 +23,7 @@ import { interface SingleSearchAfterParams { aggregations?: Record; - searchAfterSortIds: SortResults | undefined; + searchAfterSortIds: estypes.SearchSortResults | undefined; index: string[]; from: string; to: string; @@ -73,7 +72,7 @@ export const singleSearchAfter = async ({ const { body: nextSearchAfterResult, } = await services.scopedClusterClient.asCurrentUser.search( - searchAfterQuery as SearchRequest + searchAfterQuery as estypes.SearchRequest ); const end = performance.now(); const searchErrors = createErrorsFromShard({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/threat_mapping/create_threat_signals.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/threat_mapping/create_threat_signals.ts index ade85db0e4ba6..b3e0e376c7794 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/threat_mapping/create_threat_signals.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/threat_mapping/create_threat_signals.ts @@ -154,7 +154,7 @@ export const createThreatSignals = async ({ language: threatLanguage, threatFilters, index: threatIndex, - // @ts-expect-error@elastic/elasticsearch SortResults might contain null + // @ts-expect-error@elastic/elasticsearch SearchSortResults might contain null searchAfter: threatList.hits.hits[threatList.hits.hits.length - 1].sort, sortField: undefined, sortOrder: undefined, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts index cc4ed6a45807b..5c35a3488dab7 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts @@ -13,7 +13,6 @@ import type { estypes } from '@elastic/elasticsearch'; import { chunk, isEmpty, partition } from 'lodash'; import { ApiResponse, Context } from '@elastic/elasticsearch/lib/Transport'; -import { SortResults } from '@elastic/elasticsearch/api/types'; import type { ListArray, ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; import { MAX_EXCEPTION_LIST_SIZE } from '@kbn/securitysolution-list-constants'; import { hasLargeValueList } from '@kbn/securitysolution-list-utils'; @@ -855,10 +854,10 @@ export const isMachineLearningParams = (params: RuleParams): params is MachineLe * Ref: https://github.com/elastic/elasticsearch/issues/28806#issuecomment-369303620 * * return stringified Long.MAX_VALUE if we receive Number.MAX_SAFE_INTEGER - * @param sortIds SortResults | undefined + * @param sortIds estypes.SearchSortResults | undefined * @returns SortResults */ -export const getSafeSortIds = (sortIds: SortResults | undefined) => { +export const getSafeSortIds = (sortIds: estypes.SearchSortResults | undefined) => { return sortIds?.map((sortId) => { // haven't determined when we would receive a null value for a sort id // but in case we do, default to sending the stringified Java max_int diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query.dsl.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query.dsl.ts index e960067713bda..325d45e04b2b0 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query.dsl.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query.dsl.ts @@ -75,7 +75,7 @@ export const buildQuery = ({ order: [ { 'successes.doc_count': 'desc' as const }, { 'failures.doc_count': 'desc' as const }, - ] as estypes.TermsAggregationOrder, + ] as estypes.AggregationsTermsAggregationOrder, }, aggs: { failures: { diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query_entities.dsl.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query_entities.dsl.ts index 51d80152d65c0..d320130115588 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query_entities.dsl.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/authentications/dsl/query_entities.dsl.ts @@ -52,7 +52,10 @@ export const buildQueryEntities = ({ terms: { size: querySize, field: 'user.name', - order: [{ successes: 'desc' }, { failures: 'desc' }] as estypes.TermsAggregationOrder, + order: [ + { successes: 'desc' }, + { failures: 'desc' }, + ] as estypes.AggregationsTermsAggregationOrder, }, aggs: { failures: { diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/uncommon_processes/dsl/query.dsl.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/uncommon_processes/dsl/query.dsl.ts index 97f0fc6f2efe0..5d4f45c68160a 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/uncommon_processes/dsl/query.dsl.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts/uncommon_processes/dsl/query.dsl.ts @@ -68,7 +68,7 @@ export const buildQuery = ({ { _key: 'asc' as const, }, - ] as estypes.TermsAggregationOrder, + ] as estypes.AggregationsTermsAggregationOrder, }, aggregations: { process: {