diff --git a/x-pack/plugins/cases/common/api/cases/case.ts b/x-pack/plugins/cases/common/api/cases/case.ts index 4eaf633fb98c7c..17319a71732e18 100644 --- a/x-pack/plugins/cases/common/api/cases/case.ts +++ b/x-pack/plugins/cases/common/api/cases/case.ts @@ -249,7 +249,7 @@ export const CasesByAlertIDRequestRt = rt.partial({ owner: rt.union([rt.array(rt.string), rt.string]), }); -export const CaseResponseRt = rt.intersection([ +export const CaseRt = rt.intersection([ CaseAttributesRt, rt.type({ id: rt.string, @@ -264,7 +264,7 @@ export const CaseResponseRt = rt.intersection([ export const CaseResolveResponseRt = rt.intersection([ rt.type({ - case: CaseResponseRt, + case: CaseRt, outcome: rt.union([rt.literal('exactMatch'), rt.literal('aliasMatch'), rt.literal('conflict')]), }), rt.partial({ @@ -275,7 +275,7 @@ export const CaseResolveResponseRt = rt.intersection([ export const CasesFindResponseRt = rt.intersection([ rt.type({ - cases: rt.array(CaseResponseRt), + cases: rt.array(CaseRt), page: rt.number, per_page: rt.number, total: rt.number, @@ -292,7 +292,7 @@ export const CasePatchRequestRt = rt.intersection([ ]); export const CasesPatchRequestRt = rt.type({ cases: rt.array(CasePatchRequestRt) }); -export const CasesResponseRt = rt.array(CaseResponseRt); +export const CasesRt = rt.array(CaseRt); export const CasePushRequestParamsRt = rt.type({ case_id: rt.string, @@ -339,7 +339,7 @@ export const CasesBulkGetRequestRt = rt.intersection([ ]); export const CasesBulkGetResponseRt = rt.type({ - cases: CasesResponseRt, + cases: CasesRt, errors: rt.array( rt.type({ error: rt.string, @@ -353,9 +353,9 @@ export const CasesBulkGetResponseRt = rt.type({ export type CaseAttributes = rt.TypeOf; export type CasePostRequest = rt.TypeOf; -export type CaseResponse = rt.TypeOf; +export type Case = rt.TypeOf; export type CaseResolveResponse = rt.TypeOf; -export type CasesResponse = rt.TypeOf; +export type Cases = rt.TypeOf; export type CasesFindRequest = rt.TypeOf; export type CasesByAlertIDRequest = rt.TypeOf; export type CasesFindResponse = rt.TypeOf; @@ -375,13 +375,15 @@ export type CasesByAlertId = rt.TypeOf; export type CasesBulkGetRequest = rt.TypeOf; export type CasesBulkGetResponse = rt.TypeOf; -export type CasesBulkGetRequestCertainFields< - Field extends keyof CaseResponse = keyof CaseResponse -> = Omit & { +export type CasesBulkGetRequestCertainFields = Omit< + CasesBulkGetRequest, + 'fields' +> & { fields?: Field[]; }; -export type CasesBulkGetResponseCertainFields< - Field extends keyof CaseResponse = keyof CaseResponse -> = Omit & { - cases: Array>; +export type CasesBulkGetResponseCertainFields = Omit< + CasesBulkGetResponse, + 'cases' +> & { + cases: Array>; }; diff --git a/x-pack/plugins/cases/common/index.ts b/x-pack/plugins/cases/common/index.ts index d41de5543654d5..16ccaaf5602fac 100644 --- a/x-pack/plugins/cases/common/index.ts +++ b/x-pack/plugins/cases/common/index.ts @@ -38,7 +38,7 @@ export { } from './api'; export type { - CaseResponse, + Case, CasesBulkGetRequestCertainFields, CasesBulkGetResponseCertainFields, } from './api'; diff --git a/x-pack/plugins/cases/common/ui/types.ts b/x-pack/plugins/cases/common/ui/types.ts index e9bfcd0682f5b9..c7808e3c0a1adf 100644 --- a/x-pack/plugins/cases/common/ui/types.ts +++ b/x-pack/plugins/cases/common/ui/types.ts @@ -20,7 +20,7 @@ import type { CaseUserActionResponse, SingleCaseMetricsResponse, CommentResponse, - CaseResponse, + Case, UserActionFindResponse, FindTypeField as UserActionFindTypeField, CommentResponseAlertsType, @@ -92,7 +92,7 @@ export type FindCaseUserActions = Omit, userActions: CaseUserActions[]; }; export type CaseUserActionsStats = SnakeToCamelCase; -export type Case = Omit, 'comments'> & { comments: Comment[] }; +export type Case = Omit, 'comments'> & { comments: Comment[] }; export type Cases = Omit, 'cases'> & { cases: Case[] }; export type CasesStatus = SnakeToCamelCase; export type CasesMetrics = SnakeToCamelCase; diff --git a/x-pack/plugins/cases/public/api/decoders.ts b/x-pack/plugins/cases/public/api/decoders.ts index 6402b2d56a3421..121595ccb04148 100644 --- a/x-pack/plugins/cases/public/api/decoders.ts +++ b/x-pack/plugins/cases/public/api/decoders.ts @@ -16,12 +16,12 @@ import type { CasesStatusResponse, CasesMetricsResponse, CasesBulkGetResponseCertainFields, - CaseResponse, + Case, } from '../../common/api'; import { CasesFindResponseRt, CasesStatusResponseRt, - CasesResponseRt, + CasesRt, getTypeForCertainFieldsFromArray, CasesMetricsResponseRt, } from '../../common/api'; @@ -41,11 +41,11 @@ export const decodeCasesMetricsResponse = (metrics?: CasesMetricsResponse) => fold(throwErrors(createToasterPlainError), identity) ); -export const decodeCasesBulkGetResponse = ( +export const decodeCasesBulkGetResponse = ( res: CasesBulkGetResponseCertainFields, fields?: string[] ) => { - const typeToDecode = getTypeForCertainFieldsFromArray(CasesResponseRt, fields); + const typeToDecode = getTypeForCertainFieldsFromArray(CasesRt, fields); pipe(typeToDecode.decode(res.cases), fold(throwErrors(createToasterPlainError), identity)); return res; diff --git a/x-pack/plugins/cases/public/api/index.ts b/x-pack/plugins/cases/public/api/index.ts index c89b1ff94f9e9c..0e4e93370f3884 100644 --- a/x-pack/plugins/cases/public/api/index.ts +++ b/x-pack/plugins/cases/public/api/index.ts @@ -14,7 +14,7 @@ import { INTERNAL_BULK_GET_CASES_URL, } from '../../common/constants'; import type { - CaseResponse, + Case, CasesBulkGetRequestCertainFields, CasesBulkGetResponseCertainFields, CasesFindRequest, @@ -68,7 +68,7 @@ export const getCasesMetrics = async ({ return convertToCamelCase(decodeCasesMetricsResponse(res)); }; -export const bulkGetCases = async ({ +export const bulkGetCases = async ({ http, signal, params, diff --git a/x-pack/plugins/cases/public/api/utils.ts b/x-pack/plugins/cases/public/api/utils.ts index f7ce3bf0817d2e..9437581ece8b31 100644 --- a/x-pack/plugins/cases/public/api/utils.ts +++ b/x-pack/plugins/cases/public/api/utils.ts @@ -13,12 +13,12 @@ import { } from '../../common/utils/attachments'; import type { CasesFindResponse, - CaseResponse, + Case, CaseUserActionsResponse, CommentRequest, CommentResponse, CaseResolveResponse, - CasesResponse, + Cases, } from '../../common/api'; import { isCommentUserAction } from '../../common/utils/user_actions'; import type { Cases, Case, Comment, ResolvedCase } from '../containers/types'; @@ -46,16 +46,15 @@ export const convertToCamelCase = (obj: T): U => return acc; }, {} as U); -export const convertCaseToCamelCase = (theCase: CaseResponse): Case => { +export const convertCaseToCamelCase = (theCase: Case): Case => { const { comments, ...restCase } = theCase; return { - ...convertToCamelCase(restCase), + ...convertToCamelCase(restCase), ...(comments != null ? { comments: convertAttachmentsToCamelCase(comments) } : {}), }; }; -export const convertCasesToCamelCase = (cases: CasesResponse): Case[] => - cases.map(convertCaseToCamelCase); +export const convertCasesToCamelCase = (cases: Cases): Case[] => cases.map(convertCaseToCamelCase); export const convertCaseResolveToCamelCase = (res: CaseResolveResponse): ResolvedCase => { const { case: theCase, ...rest } = res; diff --git a/x-pack/plugins/cases/public/containers/api.ts b/x-pack/plugins/cases/public/containers/api.ts index a45bfa3752c914..485162e814c5cf 100644 --- a/x-pack/plugins/cases/public/containers/api.ts +++ b/x-pack/plugins/cases/public/containers/api.ts @@ -23,9 +23,9 @@ import type { BulkCreateCommentRequest, CasePatchRequest, CasePostRequest, - CaseResponse, + Case, CaseResolveResponse, - CasesResponse, + Cases, UserActionFindResponse, CommentRequest, User, @@ -92,7 +92,7 @@ export const getCase = async ( includeComments: boolean = true, signal: AbortSignal ): Promise => { - const response = await KibanaServices.get().http.fetch(getCaseDetailsUrl(caseId), { + const response = await KibanaServices.get().http.fetch(getCaseDetailsUrl(caseId), { method: 'GET', query: { includeComments, @@ -246,7 +246,7 @@ export const getCases = async ({ }; export const postCase = async (newCase: CasePostRequest, signal: AbortSignal): Promise => { - const response = await KibanaServices.get().http.fetch(CASES_URL, { + const response = await KibanaServices.get().http.fetch(CASES_URL, { method: 'POST', body: JSON.stringify(newCase), signal, @@ -263,7 +263,7 @@ export const patchCase = async ( version: string, signal: AbortSignal ): Promise => { - const response = await KibanaServices.get().http.fetch(CASES_URL, { + const response = await KibanaServices.get().http.fetch(CASES_URL, { method: 'PATCH', body: JSON.stringify({ cases: [{ ...updatedCase, id: caseId, version }] }), signal, @@ -279,7 +279,7 @@ export const updateCases = async ( return []; } - const response = await KibanaServices.get().http.fetch(CASES_URL, { + const response = await KibanaServices.get().http.fetch(CASES_URL, { method: 'PATCH', body: JSON.stringify({ cases }), signal, @@ -293,14 +293,11 @@ export const postComment = async ( caseId: string, signal: AbortSignal ): Promise => { - const response = await KibanaServices.get().http.fetch( - `${CASES_URL}/${caseId}/comments`, - { - method: 'POST', - body: JSON.stringify(newComment), - signal, - } - ); + const response = await KibanaServices.get().http.fetch(`${CASES_URL}/${caseId}/comments`, { + method: 'POST', + body: JSON.stringify(newComment), + signal, + }); return convertCaseToCamelCase(decodeCaseResponse(response)); }; @@ -319,7 +316,7 @@ export const patchComment = async ({ signal: AbortSignal; owner: string; }): Promise => { - const response = await KibanaServices.get().http.fetch(getCaseCommentsUrl(caseId), { + const response = await KibanaServices.get().http.fetch(getCaseCommentsUrl(caseId), { method: 'PATCH', body: JSON.stringify({ comment: commentUpdate, @@ -342,7 +339,7 @@ export const deleteComment = async ({ commentId: string; signal: AbortSignal; }): Promise => { - await KibanaServices.get().http.fetch(getCaseCommentDeleteUrl(caseId, commentId), { + await KibanaServices.get().http.fetch(getCaseCommentDeleteUrl(caseId, commentId), { method: 'DELETE', signal, }); @@ -362,7 +359,7 @@ export const pushCase = async ( connectorId: string, signal: AbortSignal ): Promise => { - const response = await KibanaServices.get().http.fetch( + const response = await KibanaServices.get().http.fetch( getCasePushUrl(caseId, connectorId), { method: 'POST', @@ -391,7 +388,7 @@ export const createAttachments = async ( caseId: string, signal: AbortSignal ): Promise => { - const response = await KibanaServices.get().http.fetch( + const response = await KibanaServices.get().http.fetch( INTERNAL_BULK_CREATE_ATTACHMENTS_URL.replace('{case_id}', caseId), { method: 'POST', diff --git a/x-pack/plugins/cases/public/containers/mock.ts b/x-pack/plugins/cases/public/containers/mock.ts index a4192513d7becd..aec5fa0df488e6 100644 --- a/x-pack/plugins/cases/public/containers/mock.ts +++ b/x-pack/plugins/cases/public/containers/mock.ts @@ -22,9 +22,9 @@ import type { } from '../../common/ui/types'; import type { CaseConnector, - CaseResponse, + Case, CasesFindResponse, - CasesResponse, + Cases, CasesStatusResponse, CaseUserActionResponse, CaseUserActionsResponse, @@ -515,7 +515,7 @@ export const persistableStateAttachmentSnake: CommentResponse = { version: 'WzQ3LDFc', }; -export const basicCaseSnake: CaseResponse = { +export const basicCaseSnake: Case = { ...basicCase, status: CaseStatuses.open, closed_at: null, @@ -529,7 +529,7 @@ export const basicCaseSnake: CaseResponse = { updated_at: basicUpdatedAt, updated_by: elasticUserSnake, owner: SECURITY_SOLUTION_OWNER, -} as CaseResponse; +} as Case; export const caseWithAlertsSnake = { ...basicCaseSnake, @@ -583,7 +583,7 @@ export const pushedCaseSnake = { external_service: { ...basicPushSnake, connector_id: pushConnectorId }, }; -export const casesSnake: CasesResponse = [ +export const casesSnake: Cases = [ basicCaseSnake, { ...pushedCaseSnake, diff --git a/x-pack/plugins/cases/public/containers/utils.ts b/x-pack/plugins/cases/public/containers/utils.ts index 733e5bd08de7a2..8e5cfdaa5bdd1c 100644 --- a/x-pack/plugins/cases/public/containers/utils.ts +++ b/x-pack/plugins/cases/public/containers/utils.ts @@ -13,8 +13,8 @@ import { pipe } from 'fp-ts/lib/pipeable'; import type { ToastInputFields } from '@kbn/core/public'; import { NO_ASSIGNEES_FILTERING_KEYWORD } from '../../common/constants'; import type { - CaseResponse, - CasesResponse, + Case, + Cases, CasesConfigurationsResponse, CasesConfigureResponse, CaseUserActionsResponse, @@ -25,8 +25,8 @@ import type { CaseUserActionStatsResponse, } from '../../common/api'; import { - CaseResponseRt, - CasesResponseRt, + CaseRt, + CasesRt, throwErrors, CaseConfigurationsResponseRt, CaseConfigureResponseRt, @@ -49,8 +49,8 @@ export const covertToSnakeCase = (obj: Record) => export const createToasterPlainError = (message: string) => new ToasterError([message]); -export const decodeCaseResponse = (respCase?: CaseResponse) => - pipe(CaseResponseRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity)); +export const decodeCaseResponse = (respCase?: Case) => + pipe(CaseRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity)); export const decodeCaseResolveResponse = (respCase?: CaseResolveResponse) => pipe( @@ -64,8 +64,8 @@ export const decodeSingleCaseMetricsResponse = (respCase?: SingleCaseMetricsResp fold(throwErrors(createToasterPlainError), identity) ); -export const decodeCasesResponse = (respCase?: CasesResponse) => - pipe(CasesResponseRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity)); +export const decodeCasesResponse = (respCase?: Cases) => + pipe(CasesRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity)); export const decodeCaseConfigurationsResponse = (respCase?: CasesConfigurationsResponse) => { return pipe( diff --git a/x-pack/plugins/cases/public/types.ts b/x-pack/plugins/cases/public/types.ts index 6b88c79abb6a30..d06b9edce9d884 100644 --- a/x-pack/plugins/cases/public/types.ts +++ b/x-pack/plugins/cases/public/types.ts @@ -25,7 +25,7 @@ import type { LicensingPluginStart } from '@kbn/licensing-plugin/public'; import type { FilesSetup, FilesStart } from '@kbn/files-plugin/public'; import type { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import type { - CaseResponse, + Case, CasesBulkGetRequestCertainFields, CasesBulkGetResponseCertainFields, CasesByAlertId, @@ -106,7 +106,7 @@ export interface CasesUiStart { find: (query: CasesFindRequest, signal?: AbortSignal) => Promise; getCasesStatus: (query: CasesStatusRequest, signal?: AbortSignal) => Promise; getCasesMetrics: (query: CasesMetricsRequest, signal?: AbortSignal) => Promise; - bulkGet: ( + bulkGet: ( params: CasesBulkGetRequestCertainFields, signal?: AbortSignal ) => Promise>; diff --git a/x-pack/plugins/cases/server/client/attachments/add.ts b/x-pack/plugins/cases/server/client/attachments/add.ts index 920adca9dc1bf7..ae4d4aab68e1dd 100644 --- a/x-pack/plugins/cases/server/client/attachments/add.ts +++ b/x-pack/plugins/cases/server/client/attachments/add.ts @@ -12,7 +12,7 @@ import { identity } from 'fp-ts/lib/function'; import { SavedObjectsUtils } from '@kbn/core/server'; -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { CommentRequestRt, throwErrors } from '../../../common/api'; import { CaseCommentModel } from '../../common/models'; @@ -29,10 +29,7 @@ import { validateRegisteredAttachments } from './validators'; * * @ignore */ -export const addComment = async ( - addArgs: AddArgs, - clientArgs: CasesClientArgs -): Promise => { +export const addComment = async (addArgs: AddArgs, clientArgs: CasesClientArgs): Promise => { const { comment, caseId } = addArgs; const query = pipe( CommentRequestRt.decode(comment), diff --git a/x-pack/plugins/cases/server/client/attachments/bulk_create.ts b/x-pack/plugins/cases/server/client/attachments/bulk_create.ts index 1213f9a373b7c5..e989410a7a3898 100644 --- a/x-pack/plugins/cases/server/client/attachments/bulk_create.ts +++ b/x-pack/plugins/cases/server/client/attachments/bulk_create.ts @@ -12,7 +12,7 @@ import { identity } from 'fp-ts/lib/function'; import { SavedObjectsUtils } from '@kbn/core/server'; -import type { CaseResponse, CommentRequest } from '../../../common/api'; +import type { Case, CommentRequest } from '../../../common/api'; import { BulkCreateCommentRequestRt, throwErrors } from '../../../common/api'; import { CaseCommentModel } from '../../common/models'; @@ -33,7 +33,7 @@ import { validateRegisteredAttachments } from './validators'; export const bulkCreate = async ( args: BulkCreateArgs, clientArgs: CasesClientArgs -): Promise => { +): Promise => { const { attachments, caseId } = args; pipe( diff --git a/x-pack/plugins/cases/server/client/attachments/client.ts b/x-pack/plugins/cases/server/client/attachments/client.ts index 5b204a21929c22..e4244b32d1e7da 100644 --- a/x-pack/plugins/cases/server/client/attachments/client.ts +++ b/x-pack/plugins/cases/server/client/attachments/client.ts @@ -9,7 +9,7 @@ import type { AlertResponse, AllCommentsResponse, BulkGetAttachmentsResponse, - CaseResponse, + Case, CommentResponse, CommentsResponse, } from '../../../common/api'; @@ -45,8 +45,8 @@ export interface AttachmentsSubClient { /** * Adds an attachment to a case. */ - add(params: AddArgs): Promise; - bulkCreate(params: BulkCreateArgs): Promise; + add(params: AddArgs): Promise; + bulkCreate(params: BulkCreateArgs): Promise; bulkGet(params: BulkGetArgs): Promise; /** * Deletes all attachments associated with a single case. @@ -78,7 +78,7 @@ export interface AttachmentsSubClient { * * The request must include all fields for the attachment. Even the fields that are not changing. */ - update(updateArgs: UpdateArgs): Promise; + update(updateArgs: UpdateArgs): Promise; } /** diff --git a/x-pack/plugins/cases/server/client/attachments/update.ts b/x-pack/plugins/cases/server/client/attachments/update.ts index 692e2f6b152041..213d4a86ea242a 100644 --- a/x-pack/plugins/cases/server/client/attachments/update.ts +++ b/x-pack/plugins/cases/server/client/attachments/update.ts @@ -10,7 +10,7 @@ import Boom from '@hapi/boom'; import { CaseCommentModel } from '../../common/models'; import { createCaseError } from '../../common/error'; import { isCommentRequestTypeExternalReference } from '../../../common/utils/attachments'; -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { CASE_SAVED_OBJECT } from '../../../common/constants'; import type { CasesClientArgs } from '..'; import { decodeCommentRequest } from '../utils'; @@ -25,7 +25,7 @@ import type { UpdateArgs } from './types'; export async function update( { caseID, updateRequest: queryParams }: UpdateArgs, clientArgs: CasesClientArgs -): Promise { +): Promise { const { services: { attachmentService }, logger, diff --git a/x-pack/plugins/cases/server/client/cases/bulk_get.test.ts b/x-pack/plugins/cases/server/client/cases/bulk_get.test.ts index 8628fa64056ad5..fd68bd7e8d36de 100644 --- a/x-pack/plugins/cases/server/client/cases/bulk_get.test.ts +++ b/x-pack/plugins/cases/server/client/cases/bulk_get.test.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { CaseResponse } from '../../../common/api'; -import { getTypeProps, CaseResponseRt } from '../../../common/api'; +import type { Case } from '../../../common/api'; +import { getTypeProps, CaseRt } from '../../../common/api'; import { mockCases } from '../../mocks'; import { createCasesClientMockArgs } from '../mocks'; import { bulkGet } from './bulk_get'; @@ -39,8 +39,8 @@ describe('bulkGet', () => { unauthorized: [], }); - const typeProps = getTypeProps(CaseResponseRt) ?? {}; - const validFields = Object.keys(typeProps) as Array; + const typeProps = getTypeProps(CaseRt) ?? {}; + const validFields = Object.keys(typeProps) as Array; beforeEach(() => { jest.clearAllMocks(); diff --git a/x-pack/plugins/cases/server/client/cases/bulk_get.ts b/x-pack/plugins/cases/server/client/cases/bulk_get.ts index 85952b84bef916..69597f0e77b4c6 100644 --- a/x-pack/plugins/cases/server/client/cases/bulk_get.ts +++ b/x-pack/plugins/cases/server/client/cases/bulk_get.ts @@ -16,16 +16,16 @@ import type { CasesBulkGetResponse, CasesBulkGetResponseCertainFields, CasesBulkGetRequestCertainFields, - CaseResponse, + Case, CaseAttributes, } from '../../../common/api'; import { CasesBulkGetRequestRt, - CasesResponseRt, + CasesRt, excess, throwErrors, getTypeForCertainFieldsFromArray, - CaseResponseRt, + CaseRt, } from '../../../common/api'; import { getTypeProps } from '../../../common/api/runtime_types'; import { createCaseError } from '../../common/error'; @@ -40,7 +40,7 @@ type CaseSavedObjectWithErrors = SOWithErrors; /** * Retrieves multiple cases by ids. */ -export const bulkGet = async ( +export const bulkGet = async ( params: CasesBulkGetRequestCertainFields, clientArgs: CasesClientArgs ): Promise> => { @@ -103,7 +103,7 @@ export const bulkGet = async { return; } - const typeProps = getTypeProps(CaseResponseRt) ?? {}; + const typeProps = getTypeProps(CaseRt) ?? {}; const validFields = Object.keys(typeProps); for (const field of fields) { diff --git a/x-pack/plugins/cases/server/client/cases/client.ts b/x-pack/plugins/cases/server/client/cases/client.ts index bf3253fda6558f..a014eeec56a6cd 100644 --- a/x-pack/plugins/cases/server/client/cases/client.ts +++ b/x-pack/plugins/cases/server/client/cases/client.ts @@ -13,7 +13,7 @@ import type { AllTagsFindRequest, AllReportersFindRequest, CasesByAlertId, - CaseResponse, + Case, CasesBulkGetRequestCertainFields, CasesBulkGetResponseCertainFields, } from '../../../common/api'; @@ -65,7 +65,7 @@ export interface CasesSubClient { /** * Retrieves multiple cases with the specified IDs. */ - bulkGet( + bulkGet( params: CasesBulkGetRequestCertainFields ): Promise>; /** diff --git a/x-pack/plugins/cases/server/client/cases/create.ts b/x-pack/plugins/cases/server/client/cases/create.ts index a8f9975fee39ff..1d1a687ee9998c 100644 --- a/x-pack/plugins/cases/server/client/cases/create.ts +++ b/x-pack/plugins/cases/server/client/cases/create.ts @@ -12,10 +12,10 @@ import { identity } from 'fp-ts/lib/function'; import { SavedObjectsUtils } from '@kbn/core/server'; -import type { CaseResponse, CasePostRequest } from '../../../common/api'; +import type { Case, CasePostRequest } from '../../../common/api'; import { throwErrors, - CaseResponseRt, + CaseRt, ActionTypes, CasePostRequestRt, excess, @@ -35,10 +35,7 @@ import { LICENSING_CASE_ASSIGNMENT_FEATURE } from '../../common/constants'; * * @ignore */ -export const create = async ( - data: CasePostRequest, - clientArgs: CasesClientArgs -): Promise => { +export const create = async (data: CasePostRequest, clientArgs: CasesClientArgs): Promise => { const { services: { caseService, userActionService, licensingService, notificationService }, user, @@ -129,7 +126,7 @@ export const create = async ( }); } - return CaseResponseRt.encode(flattenedCase); + return CaseRt.encode(flattenedCase); } catch (error) { throw createCaseError({ message: `Failed to create case: ${error}`, error, logger }); } diff --git a/x-pack/plugins/cases/server/client/cases/find.test.ts b/x-pack/plugins/cases/server/client/cases/find.test.ts index f23ad82df1fcff..bb0701647d8af1 100644 --- a/x-pack/plugins/cases/server/client/cases/find.test.ts +++ b/x-pack/plugins/cases/server/client/cases/find.test.ts @@ -6,7 +6,7 @@ */ import { v1 as uuidv1 } from 'uuid'; -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { flattenCaseSavedObject } from '../../common/utils'; import { mockCases } from '../../mocks'; @@ -16,7 +16,7 @@ import { find } from './find'; describe('find', () => { describe('constructSearch', () => { const clientArgs = createCasesClientMockArgs(); - const casesMap = new Map( + const casesMap = new Map( mockCases.map((obj) => { return [obj.id, flattenCaseSavedObject({ savedObject: obj, totalComment: 2 })]; }) diff --git a/x-pack/plugins/cases/server/client/cases/get.ts b/x-pack/plugins/cases/server/client/cases/get.ts index 669efc96c960c0..4773d67cdf3105 100644 --- a/x-pack/plugins/cases/server/client/cases/get.ts +++ b/x-pack/plugins/cases/server/client/cases/get.ts @@ -11,7 +11,7 @@ import { identity } from 'fp-ts/lib/function'; import type { SavedObjectsResolveResponse } from '@kbn/core/server'; import type { - CaseResponse, + Case, CaseResolveResponse, User, AllTagsFindRequest, @@ -22,7 +22,7 @@ import type { AttachmentTotals, } from '../../../common/api'; import { - CaseResponseRt, + CaseRt, CaseResolveResponseRt, AllTagsFindRequestRt, excess, @@ -173,7 +173,7 @@ export interface GetParams { export const get = async ( { id, includeComments }: GetParams, clientArgs: CasesClientArgs -): Promise => { +): Promise => { const { services: { caseService }, logger, @@ -191,7 +191,7 @@ export const get = async ( }); if (!includeComments) { - return CaseResponseRt.encode( + return CaseRt.encode( flattenCaseSavedObject({ savedObject: theCase, }) @@ -206,7 +206,7 @@ export const get = async ( }, }); - return CaseResponseRt.encode( + return CaseRt.encode( flattenCaseSavedObject({ savedObject: theCase, comments: theComments.saved_objects, diff --git a/x-pack/plugins/cases/server/client/cases/push.ts b/x-pack/plugins/cases/server/client/cases/push.ts index 4f3ab74557278f..da30764c45e4b2 100644 --- a/x-pack/plugins/cases/server/client/cases/push.ts +++ b/x-pack/plugins/cases/server/client/cases/push.ts @@ -14,19 +14,13 @@ import type { SecurityPluginStart } from '@kbn/security-plugin/server'; import { asSavedObjectExecutionSource } from '@kbn/actions-plugin/server'; import type { ActionConnector, - CaseResponse, + Case, ExternalServiceResponse, CasesConfigureAttributes, CommentRequestAlertType, CommentAttributes, } from '../../../common/api'; -import { - CaseResponseRt, - CaseStatuses, - ActionTypes, - OWNER_FIELD, - CommentType, -} from '../../../common/api'; +import { CaseRt, CaseStatuses, ActionTypes, OWNER_FIELD, CommentType } from '../../../common/api'; import { CASE_COMMENT_SAVED_OBJECT, CASE_SAVED_OBJECT } from '../../../common/constants'; import { createIncident, getDurationInSeconds, getUserProfiles } from './utils'; @@ -103,7 +97,7 @@ export const push = async ( clientArgs: CasesClientArgs, casesClient: CasesClient, casesClientInternal: CasesClientInternal -): Promise => { +): Promise => { const { unsecuredSavedObjectsClient, services: { @@ -282,7 +276,7 @@ export const push = async ( /* End of update case with push information */ - return CaseResponseRt.encode( + return CaseRt.encode( flattenCaseSavedObject({ savedObject: { ...myCase, diff --git a/x-pack/plugins/cases/server/client/cases/update.ts b/x-pack/plugins/cases/server/client/cases/update.ts index f1f13c6ed362a9..dffc562d0415e8 100644 --- a/x-pack/plugins/cases/server/client/cases/update.ts +++ b/x-pack/plugins/cases/server/client/cases/update.ts @@ -25,15 +25,15 @@ import type { CaseAssignees, CaseAttributes, CasePatchRequest, - CaseResponse, + Case, CasesPatchRequest, - CasesResponse, + Cases, CommentAttributes, User, } from '../../../common/api'; import { CasesPatchRequestRt, - CasesResponseRt, + CasesRt, CaseStatuses, CommentType, excess, @@ -303,7 +303,7 @@ interface UpdateRequestWithOriginalCase { export const update = async ( cases: CasesPatchRequest, clientArgs: CasesClientArgs -): Promise => { +): Promise => { const { services: { caseService, @@ -442,7 +442,7 @@ export const update = async ( savedObject: mergeOriginalSOWithUpdatedSO(originalCase, updatedCase), }), ]; - }, [] as CaseResponse[]); + }, [] as Case[]); await userActionService.creator.bulkCreateUpdateCase({ originalCases: myCases.saved_objects, @@ -458,7 +458,7 @@ export const update = async ( await notificationService.bulkNotifyAssignees(casesAndAssigneesToNotifyForAssignment); - return CasesResponseRt.encode(returnUpdatedCase); + return CasesRt.encode(returnUpdatedCase); } catch (error) { const idVersions = cases.cases.map((caseInfo) => ({ id: caseInfo.id, diff --git a/x-pack/plugins/cases/server/client/cases/utils.ts b/x-pack/plugins/cases/server/client/cases/utils.ts index 1288c2ecc48d7a..ecf5aaf4414479 100644 --- a/x-pack/plugins/cases/server/client/cases/utils.ts +++ b/x-pack/plugins/cases/server/client/cases/utils.ts @@ -15,7 +15,7 @@ import { isPushedUserAction } from '../../../common/utils/user_actions'; import type { ActionConnector, CaseFullExternalService, - CaseResponse, + Case, CommentResponse, User, CaseAttributes, @@ -34,7 +34,7 @@ import { getCaseViewPath } from '../../common/utils'; import * as i18n from './translations'; interface CreateIncidentArgs { - theCase: CaseResponse; + theCase: Case; userActions: CaseUserActionsDeprecatedResponse; connector: ActionConnector; alerts: CasesClientGetAlertsResponse; @@ -106,7 +106,7 @@ interface CountAlertsInfo { } const getAlertsInfo = ( - comments: CaseResponse['comments'] + comments: Case['comments'] ): { totalAlerts: number; hasUnpushedAlertComments: boolean } => { const countingInfo = { totalComments: 0, pushed: 0, totalAlerts: 0 }; @@ -129,7 +129,7 @@ const getAlertsInfo = ( }; const addAlertMessage = (params: { - theCase: CaseResponse; + theCase: Case; externalServiceComments: ExternalServiceComment[]; spaceId: string; publicBaseUrl?: IBasePath['publicBaseUrl']; @@ -238,7 +238,7 @@ export const formatComments = ({ userProfiles, publicBaseUrl, }: { - theCase: CaseResponse; + theCase: Case; latestPushInfo: LatestPushInfo; userActions: CaseUserActionsDeprecatedResponse; spaceId: string; @@ -275,7 +275,7 @@ export const formatComments = ({ }; export const addKibanaInformationToDescription = ( - theCase: CaseResponse, + theCase: Case, spaceId: string, userProfiles?: Map, publicBaseUrl?: IBasePath['publicBaseUrl'] @@ -307,7 +307,7 @@ export const addKibanaInformationToDescription = ( }; const addKibanaInformationToComments = ( - comments: CaseResponse['comments'] = [], + comments: Case['comments'] = [], userProfiles?: Map ): ExternalServiceComment[] => comments.map((theComment) => { @@ -328,7 +328,7 @@ const addKibanaInformationToComments = ( }); export const getEntity = ( - entity: { createdBy: CaseResponse['created_by']; updatedBy: CaseResponse['updated_by'] }, + entity: { createdBy: Case['created_by']; updatedBy: Case['updated_by'] }, userProfiles?: Map ): string => { return ( diff --git a/x-pack/plugins/cases/server/client/metrics/actions/actions.test.ts b/x-pack/plugins/cases/server/client/metrics/actions/actions.test.ts index e8211662c18207..56c81a9a41d597 100644 --- a/x-pack/plugins/cases/server/client/metrics/actions/actions.test.ts +++ b/x-pack/plugins/cases/server/client/metrics/actions/actions.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { CaseResponse } from '../../../../common/api'; +import type { Case } from '../../../../common/api'; import { createCasesClientMock } from '../../mocks'; import type { CasesClientArgs } from '../../types'; import { loggingSystemMock } from '@kbn/core/server/mocks'; @@ -30,7 +30,7 @@ const constructorOptions = { caseId: 'test-id', casesClient: clientMock, clientA describe('Actions', () => { beforeAll(() => { getAuthorizationFilter.mockResolvedValue({}); - clientMock.cases.get.mockResolvedValue({ id: '' } as unknown as CaseResponse); + clientMock.cases.get.mockResolvedValue({ id: '' } as unknown as Case); }); beforeEach(() => { diff --git a/x-pack/plugins/cases/server/client/metrics/alerts/count.test.ts b/x-pack/plugins/cases/server/client/metrics/alerts/count.test.ts index 15209b16081940..9fa308f93049ee 100644 --- a/x-pack/plugins/cases/server/client/metrics/alerts/count.test.ts +++ b/x-pack/plugins/cases/server/client/metrics/alerts/count.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { CaseResponse } from '../../../../common/api'; +import type { Case } from '../../../../common/api'; import { createCasesClientMock } from '../../mocks'; import type { CasesClientArgs } from '../../types'; import { loggingSystemMock } from '@kbn/core/server/mocks'; @@ -32,7 +32,7 @@ const constructorOptions = { caseId: 'test-id', casesClient: clientMock, clientA describe('AlertsCount', () => { beforeAll(() => { getAuthorizationFilter.mockResolvedValue({}); - clientMock.cases.get.mockResolvedValue({ id: 'test-id' } as unknown as CaseResponse); + clientMock.cases.get.mockResolvedValue({ id: 'test-id' } as unknown as Case); }); beforeEach(() => { diff --git a/x-pack/plugins/cases/server/client/metrics/all_cases/mttr.test.ts b/x-pack/plugins/cases/server/client/metrics/all_cases/mttr.test.ts index a13346d2ecfab4..bff57ce82a176b 100644 --- a/x-pack/plugins/cases/server/client/metrics/all_cases/mttr.test.ts +++ b/x-pack/plugins/cases/server/client/metrics/all_cases/mttr.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { CaseResponse } from '../../../../common/api'; +import type { Case } from '../../../../common/api'; import { createCasesClientMock } from '../../mocks'; import type { CasesClientArgs } from '../../types'; import { loggingSystemMock } from '@kbn/core/server/mocks'; @@ -32,7 +32,7 @@ const constructorOptions = { casesClient: clientMock, clientArgs }; describe('MTTR', () => { beforeAll(() => { getAuthorizationFilter.mockResolvedValue({}); - clientMock.cases.get.mockResolvedValue({ id: '' } as unknown as CaseResponse); + clientMock.cases.get.mockResolvedValue({ id: '' } as unknown as Case); }); beforeEach(() => { diff --git a/x-pack/plugins/cases/server/client/metrics/get_case_metrics.test.ts b/x-pack/plugins/cases/server/client/metrics/get_case_metrics.test.ts index 1fabee2893e069..8b089bd21d9391 100644 --- a/x-pack/plugins/cases/server/client/metrics/get_case_metrics.test.ts +++ b/x-pack/plugins/cases/server/client/metrics/get_case_metrics.test.ts @@ -8,7 +8,7 @@ import { loggingSystemMock, savedObjectsClientMock } from '@kbn/core/server/mocks'; import { getCaseMetrics } from './get_case_metrics'; -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { CaseStatuses } from '../../../common/api'; import type { CasesClientMock } from '../mocks'; import { createCasesClientMock } from '../mocks'; @@ -164,7 +164,7 @@ function createMockClient() { return { created_at: '2021-11-23T19:59:43Z', closed_at: '2021-11-23T19:59:44Z', - } as unknown as CaseResponse; + } as unknown as Case; }); client.attachments.getAllAlertsAttachToCase.mockImplementation(async () => { diff --git a/x-pack/plugins/cases/server/client/typedoc_interfaces.ts b/x-pack/plugins/cases/server/client/typedoc_interfaces.ts index 7234efdf5d3559..f67a1eff4631e5 100644 --- a/x-pack/plugins/cases/server/client/typedoc_interfaces.ts +++ b/x-pack/plugins/cases/server/client/typedoc_interfaces.ts @@ -17,14 +17,14 @@ import type { AllCommentsResponse, CasePostRequest, CaseResolveResponse, - CaseResponse, + Case, CasesConfigurePatch, CasesConfigureRequest, CasesConfigureResponse, CasesFindRequest, CasesFindResponse, CasesPatchRequest, - CasesResponse, + Cases, CaseUserActionsResponse, CommentsResponse, CasesBulkGetResponse, @@ -38,9 +38,9 @@ import type { export interface ICasePostRequest extends CasePostRequest {} export interface ICasesFindRequest extends CasesFindRequest {} export interface ICasesPatchRequest extends CasesPatchRequest {} -export interface ICaseResponse extends CaseResponse {} +export interface ICaseResponse extends Case {} export interface ICaseResolveResponse extends CaseResolveResponse {} -export interface ICasesResponse extends CasesResponse {} +export interface ICasesResponse extends Cases {} export interface ICasesFindResponse extends CasesFindResponse {} export interface ICasesBulkGetResponse extends CasesBulkGetResponse {} diff --git a/x-pack/plugins/cases/server/common/models/case_with_comments.ts b/x-pack/plugins/cases/server/common/models/case_with_comments.ts index 2febbd22da77f3..d6fff56b0162f0 100644 --- a/x-pack/plugins/cases/server/common/models/case_with_comments.ts +++ b/x-pack/plugins/cases/server/common/models/case_with_comments.ts @@ -13,20 +13,14 @@ import type { SavedObjectsUpdateResponse, } from '@kbn/core/server'; import type { - CaseResponse, + Case, CommentAttributes, CommentPatchRequest, CommentRequest, CommentRequestUserType, CommentRequestAlertType, } from '../../../common/api'; -import { - CaseResponseRt, - CaseStatuses, - CommentType, - ActionTypes, - Actions, -} from '../../../common/api'; +import { CaseRt, CaseStatuses, CommentType, ActionTypes, Actions } from '../../../common/api'; import { CASE_SAVED_OBJECT, MAX_DOCS_PER_PAGE } from '../../../common/constants'; import type { CasesClientArgs } from '../../client'; import type { RefreshSetting } from '../../services/types'; @@ -434,7 +428,7 @@ export class CaseCommentModel { }; } - public async encodeWithComments(): Promise { + public async encodeWithComments(): Promise { try { const comments = await this.params.services.caseService.getAllCaseComments({ id: this.caseInfo.id, @@ -453,7 +447,7 @@ export class CaseCommentModel { ...this.formatForEncoding(comments.total), }; - return CaseResponseRt.encode(caseResponse); + return CaseRt.encode(caseResponse); } catch (error) { throw createCaseError({ message: `Failed encoding the commentable case, case id: ${this.caseInfo.id}: ${error}`, diff --git a/x-pack/plugins/cases/server/common/utils.test.ts b/x-pack/plugins/cases/server/common/utils.test.ts index 684fe426d7dc5c..c2ef8281a5887a 100644 --- a/x-pack/plugins/cases/server/common/utils.test.ts +++ b/x-pack/plugins/cases/server/common/utils.test.ts @@ -10,7 +10,7 @@ import { makeLensEmbeddableFactory } from '@kbn/lens-plugin/server/embeddable/ma import { OWNER_INFO, SECURITY_SOLUTION_OWNER } from '../../common/constants'; import type { CaseConnector, - CaseResponse, + Case, CommentAttributes, CommentRequest, CommentRequestUserType, @@ -256,7 +256,7 @@ describe('common utils', () => { describe('transformCases', () => { it('transforms correctly', () => { - const casesMap = new Map( + const casesMap = new Map( mockCases.map((obj) => { return [obj.id, flattenCaseSavedObject({ savedObject: obj, totalComment: 2 })]; }) diff --git a/x-pack/plugins/cases/server/common/utils.ts b/x-pack/plugins/cases/server/common/utils.ts index 083c412ace340e..e51ea67a9df1ee 100644 --- a/x-pack/plugins/cases/server/common/utils.ts +++ b/x-pack/plugins/cases/server/common/utils.ts @@ -29,7 +29,7 @@ import type { AlertInfo, FileAttachmentRequest } from './types'; import type { CaseAttributes, CasePostRequest, - CaseResponse, + Case, CasesFindResponse, CommentAttributes, CommentRequest, @@ -98,7 +98,7 @@ export const transformCases = ({ perPage, total, }: { - casesMap: Map; + casesMap: Map; countOpenCases: number; countInProgressCases: number; countClosedCases: number; @@ -125,7 +125,7 @@ export const flattenCaseSavedObject = ({ comments?: Array>; totalComment?: number; totalAlerts?: number; -}): CaseResponse => ({ +}): Case => ({ id: savedObject.id, version: savedObject.version ?? '0', comments: flattenCommentSavedObjects(comments), diff --git a/x-pack/plugins/cases/server/connectors/jira/format.test.ts b/x-pack/plugins/cases/server/connectors/jira/format.test.ts index 7ddabdf5e2ff13..acca9c7886ec21 100644 --- a/x-pack/plugins/cases/server/connectors/jira/format.test.ts +++ b/x-pack/plugins/cases/server/connectors/jira/format.test.ts @@ -5,14 +5,14 @@ * 2.0. */ -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { format } from './format'; describe('Jira formatter', () => { const theCase = { tags: ['tag'], connector: { fields: { priority: 'High', issueType: 'Task', parent: null } }, - } as CaseResponse; + } as Case; it('it formats correctly', async () => { const res = await format(theCase, []); @@ -20,7 +20,7 @@ describe('Jira formatter', () => { }); it('it formats correctly when fields do not exist ', async () => { - const invalidFields = { tags: ['tag'], connector: { fields: null } } as CaseResponse; + const invalidFields = { tags: ['tag'], connector: { fields: null } } as Case; const res = await format(invalidFields, []); expect(res).toEqual({ priority: null, issueType: null, parent: null, labels: theCase.tags }); }); diff --git a/x-pack/plugins/cases/server/connectors/resilient/format.test.ts b/x-pack/plugins/cases/server/connectors/resilient/format.test.ts index cd850bd28fe378..29ab88e09c388a 100644 --- a/x-pack/plugins/cases/server/connectors/resilient/format.test.ts +++ b/x-pack/plugins/cases/server/connectors/resilient/format.test.ts @@ -5,13 +5,13 @@ * 2.0. */ -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { format } from './format'; describe('IBM Resilient formatter', () => { const theCase = { connector: { fields: { incidentTypes: ['2'], severityCode: '2' } }, - } as CaseResponse; + } as Case; it('it formats correctly', async () => { const res = await format(theCase, []); @@ -19,7 +19,7 @@ describe('IBM Resilient formatter', () => { }); it('it formats correctly when fields do not exist ', async () => { - const invalidFields = { tags: ['a tag'], connector: { fields: null } } as CaseResponse; + const invalidFields = { tags: ['a tag'], connector: { fields: null } } as Case; const res = await format(invalidFields, []); expect(res).toEqual({ incidentTypes: null, severityCode: null }); }); diff --git a/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.test.ts b/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.test.ts index 8db9ba7df48595..0edec51ce4f486 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.test.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { format } from './itsm_format'; describe('ITSM formatter', () => { @@ -14,7 +14,7 @@ describe('ITSM formatter', () => { connector: { fields: { severity: '2', urgency: '2', impact: '2', category: 'software', subcategory: 'os' }, }, - } as CaseResponse; + } as Case; it('it formats correctly', async () => { const res = await format(theCase, []); @@ -26,7 +26,7 @@ describe('ITSM formatter', () => { }); it('it formats correctly when fields do not exist ', async () => { - const invalidFields = { connector: { fields: null } } as CaseResponse; + const invalidFields = { connector: { fields: null } } as Case; const res = await format(invalidFields, []); expect(res).toEqual({ severity: null, diff --git a/x-pack/plugins/cases/server/connectors/servicenow/sir_format.test.ts b/x-pack/plugins/cases/server/connectors/servicenow/sir_format.test.ts index 6697aad205b928..23d14ec6b2d75c 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/sir_format.test.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/sir_format.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { format } from './sir_format'; describe('SIR formatter', () => { @@ -22,7 +22,7 @@ describe('SIR formatter', () => { priority: '2 - High', }, }, - } as CaseResponse; + } as Case; it('it formats correctly without alerts', async () => { const res = await format(theCase, []); @@ -40,7 +40,7 @@ describe('SIR formatter', () => { }); it('it formats correctly when fields do not exist ', async () => { - const invalidFields = { connector: { fields: null } } as CaseResponse; + const invalidFields = { connector: { fields: null } } as Case; const res = await format(invalidFields, []); expect(res).toEqual({ dest_ip: [], @@ -159,7 +159,7 @@ describe('SIR formatter', () => { const newCase = { ...theCase, connector: { fields: { ...theCase.connector.fields, destIp: false, malwareHash: false } }, - } as CaseResponse; + } as Case; const res = await format(newCase, alerts); expect(res).toEqual({ diff --git a/x-pack/plugins/cases/server/connectors/swimlane/format.test.ts b/x-pack/plugins/cases/server/connectors/swimlane/format.test.ts index d3500c5f9e18eb..116b0eef1027c7 100644 --- a/x-pack/plugins/cases/server/connectors/swimlane/format.test.ts +++ b/x-pack/plugins/cases/server/connectors/swimlane/format.test.ts @@ -5,14 +5,14 @@ * 2.0. */ -import type { CaseResponse } from '../../../common/api'; +import type { Case } from '../../../common/api'; import { format } from './format'; describe('Swimlane formatter', () => { const theCase = { id: 'case-id', connector: { fields: null }, - } as CaseResponse; + } as Case; it('it formats correctly', async () => { const res = await format(theCase, []); diff --git a/x-pack/plugins/cases/server/connectors/types.ts b/x-pack/plugins/cases/server/connectors/types.ts index b4cb6af0ddde9f..c1f1480d359b19 100644 --- a/x-pack/plugins/cases/server/connectors/types.ts +++ b/x-pack/plugins/cases/server/connectors/types.ts @@ -6,7 +6,7 @@ */ import type { Logger } from '@kbn/core/server'; -import type { CaseResponse, ConnectorMappingsAttributes } from '../../common/api'; +import type { Case, ConnectorMappingsAttributes } from '../../common/api'; import type { CasesClientGetAlertsResponse } from '../client/alerts/types'; import type { CasesClientFactory } from '../client/factory'; import type { RegisterActionType } from '../types'; @@ -21,7 +21,7 @@ export interface RegisterConnectorsArgs extends GetActionTypeParams { } export interface ICasesConnector { - format: (theCase: CaseResponse, alerts: CasesClientGetAlertsResponse) => TExternalServiceParams; + format: (theCase: Case, alerts: CasesClientGetAlertsResponse) => TExternalServiceParams; getMapping: () => ConnectorMappingsAttributes[]; } diff --git a/x-pack/plugins/cases/server/services/cases/index.ts b/x-pack/plugins/cases/server/services/cases/index.ts index c617bc9d221fde..48a0f0a089b524 100644 --- a/x-pack/plugins/cases/server/services/cases/index.ts +++ b/x-pack/plugins/cases/server/services/cases/index.ts @@ -28,7 +28,7 @@ import { MAX_DOCS_PER_PAGE, } from '../../../common/constants'; import type { - CaseResponse, + Case, CommentAttributes, User, CaseAttributes, @@ -53,6 +53,22 @@ import type { AggregationBuilder, AggregationResponse } from '../../client/metri import { createCaseError } from '../../common/error'; import type { CaseSavedObject, CaseSavedObjectAttributes } from '../../common/types/case'; import { CaseStatusSavedObject } from '../../common/types/case'; +import type { + GetCaseIdsByAlertIdArgs, + GetCaseIdsByAlertIdAggs, + FindCaseOptions, + CasesMapWithPageInfo, + DeleteCaseArgs, + GetCaseArgs, + GetCasesArgs, + FindCommentsArgs, + FindCaseCommentsArgs, + GetReportersArgs, + GetTagsArgs, + PostCaseArgs, + PatchCaseArgs, + PatchCasesArgs, +} from './types'; export class CasesService { private readonly log: Logger; @@ -151,7 +167,7 @@ export class CasesService { caseIds: Array.from(casesMap.keys()), }); - const casesWithComments = new Map(); + const casesWithComments = new Map(); for (const [id, caseInfo] of casesMap.entries()) { const { alerts, userComments } = commentTotals.get(id) ?? { alerts: 0, userComments: 0 }; diff --git a/x-pack/plugins/cases/server/services/cases/types.ts b/x-pack/plugins/cases/server/services/cases/types.ts index 59fb5270425c63..1b63b660abb0ac 100644 --- a/x-pack/plugins/cases/server/services/cases/types.ts +++ b/x-pack/plugins/cases/server/services/cases/types.ts @@ -7,6 +7,7 @@ import type { KueryNode } from '@kbn/es-query'; import type { SavedObjectsClientContract, SavedObjectsFindOptions } from '@kbn/core/server'; +import type { Case } from '../../../common'; import type { IndexRefresh } from '../types'; import type { User } from '../../common/types/user'; import type { CaseSavedObjectAttributes, CaseSavedObject } from '../../common/types/case'; @@ -61,7 +62,7 @@ export interface PatchCasesArgs extends IndexRefresh { } export interface CasesMapWithPageInfo { - casesMap: Map; + casesMap: Map; page: number; perPage: number; total: number; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/find_cases.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/find_cases.ts index 712ec4722d5007..9a29af9721bbce 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/find_cases.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/find_cases.ts @@ -9,12 +9,7 @@ import { v1 as uuidv1 } from 'uuid'; import expect from '@kbn/expect'; import { CASES_URL } from '@kbn/cases-plugin/common/constants'; -import { - CaseResponse, - CaseSeverity, - CaseStatuses, - CommentType, -} from '@kbn/cases-plugin/common/api'; +import { Case, CaseSeverity, CaseStatuses, CommentType } from '@kbn/cases-plugin/common/api'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { @@ -242,7 +237,7 @@ export default ({ getService }: FtrProviderContext): void => { const postedCase = await createCase(supertest, postCaseReq); // all fields that contain the UserRt definition must be included here (aka created_by, closed_by, and updated_by) // see https://github.com/elastic/kibana/issues/139503 - const queryFields: Array> = [ + const queryFields: Array> = [ ['title', 'created_by', 'closed_by', 'updated_by'], ['title', 'description', 'created_by', 'closed_by', 'updated_by'], ]; @@ -500,7 +495,7 @@ export default ({ getService }: FtrProviderContext): void => { await deleteAllCaseItems(es); }); - const createCasesWithTitleAsNumber = async (total: number): Promise => { + const createCasesWithTitleAsNumber = async (total: number): Promise => { const responsePromises = []; for (let i = 0; i < total; i++) { // this doesn't guarantee that the cases will be created in order that the for-loop executes, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts index c8239ba02cd3f8..ab3752e0489e8e 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts @@ -11,7 +11,7 @@ import { ALERT_WORKFLOW_STATUS } from '@kbn/rule-data-utils'; import { DETECTION_ENGINE_QUERY_SIGNALS_URL } from '@kbn/security-solution-plugin/common/constants'; import { CaseSeverity, - CasesResponse, + Cases, CaseStatuses, CommentType, ConnectorTypes, @@ -597,7 +597,7 @@ export default ({ getService }: FtrProviderContext): void => { ); // does NOT updates alert status when the status is updated and syncAlerts=false - const updatedIndWithStatus: CasesResponse = (await setStatus({ + const updatedIndWithStatus: Cases = (await setStatus({ supertest, cases: [ { @@ -611,7 +611,7 @@ export default ({ getService }: FtrProviderContext): void => { status: CaseStatuses['in-progress'], }, ], - })) as CasesResponse; + })) as Cases; await es.indices.refresh({ index: defaultSignalsIndex }); @@ -730,7 +730,7 @@ export default ({ getService }: FtrProviderContext): void => { signals.get(signalsIndex2)?.get(signalIDInSecondIndex)?._source?.signal?.status ).to.be(CaseStatuses.open); - const updatedIndWithStatus: CasesResponse = (await setStatus({ + const updatedIndWithStatus: Cases = (await setStatus({ supertest, cases: [ { @@ -739,7 +739,7 @@ export default ({ getService }: FtrProviderContext): void => { status: CaseStatuses.closed, }, ], - })) as CasesResponse; + })) as Cases; await es.indices.refresh({ index: defaultSignalsIndex }); await es.indices.refresh({ index: signalsIndex2 }); diff --git a/x-pack/test/functional/services/cases/api.ts b/x-pack/test/functional/services/cases/api.ts index 743037fed22c5b..2322c8b798eb54 100644 --- a/x-pack/test/functional/services/cases/api.ts +++ b/x-pack/test/functional/services/cases/api.ts @@ -6,12 +6,7 @@ */ import pMap from 'p-map'; -import { - CasePostRequest, - CaseResponse, - CaseSeverity, - CaseStatuses, -} from '@kbn/cases-plugin/common/api'; +import { CasePostRequest, Case, CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/api'; import { createCase as createCaseAPI, deleteAllCaseItems, @@ -36,7 +31,7 @@ export function CasesAPIServiceProvider({ getService }: FtrProviderContext) { const supertestWithoutAuth = getService('supertestWithoutAuth'); return { - async createCase(overwrites: Partial = {}): Promise { + async createCase(overwrites: Partial = {}): Promise { const caseData = { ...generateRandomCaseWithoutConnector(), ...overwrites, @@ -66,7 +61,7 @@ export function CasesAPIServiceProvider({ getService }: FtrProviderContext) { }: { caseId: Parameters[0]['caseId']; params: Parameters[0]['params']; - }): Promise { + }): Promise { return createComment({ supertest: kbnSupertest, params, caseId }); }, @@ -100,7 +95,7 @@ export function CasesAPIServiceProvider({ getService }: FtrProviderContext) { return suggestUserProfiles({ supertest: kbnSupertest, req: options }); }, - async getCase({ caseId }: OmitSupertest[0]>): Promise { + async getCase({ caseId }: OmitSupertest[0]>): Promise { return getCase({ supertest: kbnSupertest, caseId }); }, diff --git a/x-pack/test/functional_with_es_ssl/apps/cases/group2/attachment_framework.ts b/x-pack/test/functional_with_es_ssl/apps/cases/group2/attachment_framework.ts index 9b18dcbca8ebc9..a81f862b54b650 100644 --- a/x-pack/test/functional_with_es_ssl/apps/cases/group2/attachment_framework.ts +++ b/x-pack/test/functional_with_es_ssl/apps/cases/group2/attachment_framework.ts @@ -9,7 +9,7 @@ import type SuperTest from 'supertest'; import { ExternalReferenceStorageType, CommentType, - CaseResponse, + Case, CommentRequest, } from '@kbn/cases-plugin/common/api'; import { expect } from 'expect'; @@ -84,7 +84,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { */ describe('Attachment framework', () => { describe('External reference attachments', () => { - let caseWithAttachment: CaseResponse; + let caseWithAttachment: Case; before(async () => { caseWithAttachment = await createAttachmentAndNavigate({ @@ -180,7 +180,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }, }); - let caseWithAttachment: CaseResponse; + let caseWithAttachment: Case; let dataViewId = ''; before(async () => {