From a8de58f4b2367a2a280fb1b3978921a0742f6bce Mon Sep 17 00:00:00 2001 From: Christos Nasikas Date: Wed, 19 Jul 2023 15:34:05 +0300 Subject: [PATCH] [Cases] Version `connectors` domain and apis (#162059) ## Summary This PR versions the `connector` domain object and its corresponding APIs ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### For maintainers - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../cases/common/api/cases/case.test.ts | 2 +- x-pack/plugins/cases/common/api/cases/case.ts | 2 +- .../api/connectors/get_connectors.test.ts | 89 -------- .../cases/common/api/connectors/jira.test.ts | 37 ---- .../cases/common/api/connectors/jira.ts | 16 -- .../common/api/connectors/mappings.test.ts | 117 ---------- .../cases/common/api/connectors/mappings.ts | 51 ----- .../common/api/connectors/resilient.test.ts | 36 ---- .../cases/common/api/connectors/resilient.ts | 15 -- .../api/connectors/servicenow_itsm.test.ts | 36 ---- .../common/api/connectors/servicenow_itsm.ts | 18 -- .../api/connectors/servicenow_sir.test.ts | 38 ---- .../common/api/connectors/servicenow_sir.ts | 20 -- .../common/api/connectors/swimlane.test.ts | 28 --- .../cases/common/api/connectors/swimlane.ts | 20 -- x-pack/plugins/cases/common/api/index.ts | 1 - .../plugins/cases/common/constants/index.ts | 6 + x-pack/plugins/cases/common/index.ts | 9 +- .../common/types/api/configure/v1.test.ts | 2 +- .../api/connector/latest.ts} | 9 +- .../common/types/api/connector/v1.test.ts | 203 ++++++++++++++++++ .../api/connector/v1.ts} | 26 ++- .../plugins/cases/common/types/api/index.ts | 2 + .../common/types/domain/configure/v1.test.ts | 2 +- .../cases/common/types/domain/configure/v1.ts | 3 +- .../common/types/domain/connector/latest.ts | 8 + .../domain/connector/v1.test.ts} | 114 +++++++--- .../domain/connector/v1.ts} | 140 +++++++++--- .../cases/common/types/domain/index.ts | 2 + .../domain/user_action/connector/v1.test.ts | 2 +- .../types/domain/user_action/connector/v1.ts | 2 +- .../domain/user_action/create_case/v1.test.ts | 2 +- x-pack/plugins/cases/common/ui/types.ts | 5 +- .../cases/public/common/mock/connectors.ts | 2 +- .../all_cases/use_cases_columns.tsx | 2 +- .../components/case_view_activity.test.tsx | 3 +- .../public/components/case_view/mocks.ts | 2 +- .../case_view/use_on_update_field.ts | 2 +- .../configure_cases/__mock__/index.tsx | 4 +- .../configure_cases/connectors.test.tsx | 2 +- .../components/configure_cases/connectors.tsx | 4 +- .../field_mapping_row_static.tsx | 12 +- .../components/configure_cases/index.test.tsx | 2 +- .../configure_cases/mapping.test.tsx | 2 +- .../components/configure_cases/mapping.tsx | 2 +- .../components/configure_cases/utils.ts | 18 +- .../components/connector_selector/form.tsx | 2 +- .../components/connectors/card.test.tsx | 2 +- .../public/components/connectors/card.tsx | 2 +- .../cases_webhook/case_fields_preview.tsx | 2 +- .../connectors/cases_webhook/index.ts | 2 +- .../connectors/fields_preview_form.tsx | 2 +- .../public/components/connectors/index.ts | 2 +- .../connectors/jira/case_fields.tsx | 2 +- .../connectors/jira/case_fields_preview.tsx | 4 +- .../components/connectors/jira/index.ts | 4 +- .../connectors/jira/search_issues.tsx | 2 +- .../jira/use_get_fields_by_issue_type.tsx | 2 +- .../connectors/jira/use_get_issue_types.tsx | 2 +- .../connectors/jira/use_get_issues.tsx | 2 +- .../public/components/connectors/mock.ts | 2 +- .../resilient/case_fields_preview.tsx | 4 +- .../components/connectors/resilient/index.ts | 4 +- .../resilient/use_get_incident_types.tsx | 2 +- .../connectors/resilient/use_get_severity.tsx | 2 +- .../components/connectors/servicenow/index.ts | 7 +- .../servicenow_itsm_case_fields.tsx | 2 +- .../servicenow_itsm_case_fields_preview.tsx | 4 +- .../servicenow/servicenow_sir_case_fields.tsx | 2 +- .../servicenow_sir_case_fields_preview.tsx | 4 +- .../servicenow/use_get_choices.test.tsx | 2 +- .../connectors/servicenow/use_get_choices.tsx | 2 +- .../connectors/swimlane/case_fields.test.tsx | 2 +- .../swimlane/case_fields_preview.tsx | 4 +- .../components/connectors/swimlane/index.ts | 4 +- .../connectors/swimlane/validator.test.ts | 2 +- .../connectors/swimlane/validator.ts | 2 +- .../public/components/connectors/types.ts | 15 +- .../public/components/create/connector.tsx | 2 +- .../public/components/create/form.test.tsx | 2 +- .../cases/public/components/create/form.tsx | 3 +- .../components/create/form_context.test.tsx | 3 +- .../public/components/create/form_context.tsx | 3 +- .../cases/public/components/create/mock.ts | 3 +- .../cases/public/components/create/schema.tsx | 3 +- .../edit_connector/connectors_form.tsx | 4 +- .../components/edit_connector/index.tsx | 2 +- .../use_push_to_service/index.test.tsx | 5 +- .../components/use_push_to_service/index.tsx | 2 +- .../user_actions/connector.test.tsx | 2 +- .../components/user_actions/connector.tsx | 2 +- .../components/user_actions/pushed.test.tsx | 2 +- .../plugins/cases/public/components/utils.ts | 4 +- .../cases/public/containers/api.test.tsx | 3 +- x-pack/plugins/cases/public/containers/api.ts | 7 +- .../containers/configure/__mocks__/api.ts | 2 +- .../public/containers/configure/api.test.ts | 2 +- .../cases/public/containers/configure/api.ts | 8 +- .../cases/public/containers/configure/mock.ts | 2 +- .../public/containers/configure/types.ts | 23 +- .../configure/use_configure.test.tsx | 2 +- .../containers/configure/use_configure.tsx | 2 +- .../plugins/cases/public/containers/mock.ts | 5 +- .../containers/use_get_action_license.tsx | 2 +- .../public/containers/use_post_case.test.tsx | 2 +- .../use_post_push_to_service.test.tsx | 4 +- .../containers/use_post_push_to_service.tsx | 2 +- .../cases/server/client/cases/create.test.ts | 3 +- .../plugins/cases/server/client/cases/mock.ts | 4 +- .../plugins/cases/server/client/cases/push.ts | 3 +- .../cases/server/client/cases/utils.ts | 18 +- .../cases/server/client/configure/client.ts | 6 +- .../client/configure/create_mappings.ts | 5 +- .../server/client/configure/get_mappings.ts | 5 +- .../cases/server/client/configure/types.ts | 2 +- .../client/configure/update_mappings.ts | 5 +- .../server/client/user_actions/client.ts | 3 +- .../server/client/user_actions/connectors.ts | 12 +- .../server/common/types/connector_mappings.ts | 4 +- .../plugins/cases/server/common/utils.test.ts | 5 +- x-pack/plugins/cases/server/common/utils.ts | 2 +- .../cases/server/connectors/factory.ts | 2 +- .../cases/server/connectors/jira/format.ts | 2 +- .../cases/server/connectors/jira/types.ts | 2 +- .../server/connectors/resilient/format.ts | 2 +- .../server/connectors/resilient/types.ts | 2 +- .../connectors/servicenow/itsm_format.ts | 2 +- .../connectors/servicenow/sir_format.ts | 2 +- .../server/connectors/servicenow/types.ts | 2 +- .../server/connectors/swimlane/format.ts | 2 +- .../cases/server/connectors/swimlane/types.ts | 2 +- .../plugins/cases/server/connectors/types.ts | 3 +- x-pack/plugins/cases/server/mocks.ts | 7 +- .../routes/api/__mocks__/request_responses.ts | 2 +- .../routes/api/internal/get_connectors.ts | 6 +- .../migrations/cases.test.ts | 5 +- .../saved_object_types/migrations/cases.ts | 3 +- .../migrations/configuration.test.ts | 2 +- .../migrations/configuration.ts | 2 +- .../migrations/user_actions/connector_id.ts | 11 +- .../migrations/user_actions/index.ts | 2 +- .../cases/server/services/cases/index.test.ts | 3 +- .../server/services/cases/transform.test.ts | 3 +- .../cases/server/services/cases/transform.ts | 3 +- .../server/services/configure/index.test.ts | 5 +- .../services/connector_mappings/types.ts | 2 +- .../connector_reference_handler.test.ts | 2 +- .../services/connector_reference_handler.ts | 2 +- .../cases/server/services/test_utils.ts | 11 +- .../cases/server/services/transform.test.ts | 2 +- .../cases/server/services/transform.ts | 2 +- .../services/user_actions/abstract_builder.ts | 10 +- .../user_actions/builder_factory.test.ts | 4 +- .../server/services/user_actions/mocks.ts | 3 +- .../server/services/user_actions/transform.ts | 7 +- .../endpoint/data_loaders/index_case.ts | 4 +- .../common/lib/api/configuration.ts | 7 +- .../common/lib/api/connectors.ts | 16 +- .../common/lib/api/index.ts | 7 +- .../cases_api_integration/common/lib/mock.ts | 2 +- .../tests/basic/cases/push_case.ts | 2 +- .../tests/common/cases/patch_cases.ts | 9 +- .../tests/common/cases/post_case.ts | 8 +- .../tests/common/configure/patch_configure.ts | 2 +- .../tests/common/configure/post_configure.ts | 2 +- .../metrics/get_case_metrics_connectors.ts | 2 +- .../common/user_actions/find_user_actions.ts | 8 +- .../user_actions/get_all_user_actions.ts | 3 +- .../user_actions/get_user_action_stats.ts | 3 +- .../tests/trial/cases/push_case.ts | 3 +- .../tests/trial/configure/get_configure.ts | 2 +- .../tests/trial/configure/patch_configure.ts | 2 +- .../tests/trial/configure/post_configure.ts | 2 +- .../tests/trial/internal/get_connectors.ts | 4 +- .../trial/internal/get_user_action_stats.ts | 2 +- .../tests/common/cases/post_case.ts | 2 +- .../tests/trial/configure/get_configure.ts | 2 +- .../tests/trial/configure/patch_configure.ts | 2 +- .../tests/trial/configure/post_configure.ts | 2 +- .../test/functional/services/cases/helpers.ts | 3 +- 180 files changed, 754 insertions(+), 872 deletions(-) delete mode 100644 x-pack/plugins/cases/common/api/connectors/get_connectors.test.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/jira.test.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/jira.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/mappings.test.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/mappings.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/resilient.test.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/resilient.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/servicenow_itsm.test.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/servicenow_itsm.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/servicenow_sir.test.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/servicenow_sir.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/swimlane.test.ts delete mode 100644 x-pack/plugins/cases/common/api/connectors/swimlane.ts rename x-pack/plugins/cases/common/{api/connectors/index.ts => types/api/connector/latest.ts} (51%) create mode 100644 x-pack/plugins/cases/common/types/api/connector/v1.test.ts rename x-pack/plugins/cases/common/{api/connectors/get_connectors.ts => types/api/connector/v1.ts} (55%) create mode 100644 x-pack/plugins/cases/common/types/domain/connector/latest.ts rename x-pack/plugins/cases/common/{api/connectors/connector.test.ts => types/domain/connector/v1.test.ts} (62%) rename x-pack/plugins/cases/common/{api/connectors/connector.ts => types/domain/connector/v1.ts} (51%) diff --git a/x-pack/plugins/cases/common/api/cases/case.test.ts b/x-pack/plugins/cases/common/api/cases/case.test.ts index 8326d5ffb7f71b..0506b56d22dfb6 100644 --- a/x-pack/plugins/cases/common/api/cases/case.test.ts +++ b/x-pack/plugins/cases/common/api/cases/case.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../connectors'; +import { ConnectorTypes } from '../../types/domain/connector/v1'; import { RelatedCaseInfoRt, SettingsRt, diff --git a/x-pack/plugins/cases/common/api/cases/case.ts b/x-pack/plugins/cases/common/api/cases/case.ts index 20aec08d00cb08..07f36ff1132b71 100644 --- a/x-pack/plugins/cases/common/api/cases/case.ts +++ b/x-pack/plugins/cases/common/api/cases/case.ts @@ -10,7 +10,6 @@ import * as rt from 'io-ts'; import { UserRt } from '../user'; import { CommentRt } from './comment'; import { CasesStatusResponseRt, CaseStatusRt } from './status'; -import { CaseConnectorRt } from '../connectors/connector'; import { CaseAssigneesRt } from './assignee'; import { limitedArraySchema, @@ -32,6 +31,7 @@ import { MAX_BULK_GET_CASES, MAX_CASES_PER_PAGE, } from '../../constants'; +import { CaseConnectorRt } from '../../types/domain/connector/v1'; export const AttachmentTotalsRt = rt.strict({ alerts: rt.number, diff --git a/x-pack/plugins/cases/common/api/connectors/get_connectors.test.ts b/x-pack/plugins/cases/common/api/connectors/get_connectors.test.ts deleted file mode 100644 index 9f8838a7a82302..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/get_connectors.test.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { GetCaseConnectorsResponseRt } from './get_connectors'; - -describe('GetCaseConnectorsResponseRt', () => { - const externalService = { - connector_id: 'servicenow-1', - connector_name: 'My SN connector', - external_id: 'external_id', - external_title: 'external title', - external_url: 'basicPush.com', - pushed_at: '2023-01-17T09:46:29.813Z', - pushed_by: { - full_name: 'Leslie Knope', - username: 'lknope', - email: 'leslie.knope@elastic.co', - }, - }; - const defaultReq = { - 'servicenow-1': { - id: 'servicenow-1', - name: 'My SN connector', - type: '.servicenow', - fields: null, - push: { - needsToBePushed: false, - hasBeenPushed: true, - details: { - oldestUserActionPushDate: '2023-01-17T09:46:29.813Z', - latestUserActionPushDate: '2023-01-17T09:46:29.813Z', - externalService, - }, - }, - }, - }; - - it('has expected attributes in request', () => { - const query = GetCaseConnectorsResponseRt.decode(defaultReq); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = GetCaseConnectorsResponseRt.decode({ - 'servicenow-1': { ...defaultReq['servicenow-1'], externalService, foo: 'bar' }, - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from externalService object', () => { - const query = GetCaseConnectorsResponseRt.decode({ - 'servicenow-1': { - ...defaultReq['servicenow-1'], - externalService: { ...externalService, foo: 'bar' }, - }, - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from push object', () => { - const query = GetCaseConnectorsResponseRt.decode({ - 'servicenow-1': { - ...defaultReq['servicenow-1'], - push: { ...defaultReq['servicenow-1'].push, foo: 'bar' }, - }, - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/jira.test.ts b/x-pack/plugins/cases/common/api/connectors/jira.test.ts deleted file mode 100644 index 0350e7ce2bcb19..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/jira.test.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { JiraFieldsRT } from './jira'; - -describe('JiraFieldsRT', () => { - const defaultRequest = { - issueType: 'bug', - priority: 'high', - parent: '2', - }; - - it('has expected attributes in request', () => { - const query = JiraFieldsRT.decode(defaultRequest); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = JiraFieldsRT.decode({ - ...defaultRequest, - foo: 'bar', - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/jira.ts b/x-pack/plugins/cases/common/api/connectors/jira.ts deleted file mode 100644 index 49ddc6fcdea5ca..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/jira.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const JiraFieldsRT = rt.strict({ - issueType: rt.union([rt.string, rt.null]), - priority: rt.union([rt.string, rt.null]), - parent: rt.union([rt.string, rt.null]), -}); - -export type JiraFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/mappings.test.ts b/x-pack/plugins/cases/common/api/connectors/mappings.test.ts deleted file mode 100644 index 1fc457bddc7bc5..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/mappings.test.ts +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ConnectorMappingsAttributesPartialRt } from '../../../server/common/types/connector_mappings'; -import { decodeOrThrow } from '../runtime_types'; -import { ConnectorMappingsAttributesRt, ConnectorMappingsRt } from './mappings'; - -describe('mappings', () => { - const mappings = [ - { - action_type: 'overwrite', - source: 'title', - target: 'unknown', - }, - { - action_type: 'append', - source: 'description', - target: 'not_mapped', - }, - ]; - - const attributes = { - mappings: [ - { - action_type: 'overwrite', - source: 'title', - target: 'unknown', - }, - { - action_type: 'append', - source: 'description', - target: 'not_mapped', - }, - ], - owner: 'cases', - }; - - describe('ConnectorMappingsRt', () => { - it('has expected attributes in request', () => { - const query = ConnectorMappingsRt.decode(mappings); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: mappings, - }); - }); - - it('removes foo:bar attributes from mappings', () => { - const query = ConnectorMappingsRt.decode([ - { ...mappings[0] }, - { - action_type: 'append', - source: 'description', - target: 'not_mapped', - foo: 'bar', - }, - ]); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: mappings, - }); - }); - }); - - describe('ConnectorMappingsAttributesRt', () => { - it('has expected attributes in request', () => { - const query = ConnectorMappingsAttributesRt.decode(attributes); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: attributes, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ConnectorMappingsAttributesRt.decode({ ...attributes, foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: attributes, - }); - }); - - it('removes foo:bar attributes from mappings', () => { - const query = ConnectorMappingsAttributesRt.decode({ - ...attributes, - mappings: [{ ...attributes.mappings[0], foo: 'bar' }], - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: { ...attributes, mappings: [{ ...attributes.mappings[0] }] }, - }); - }); - }); - - describe('ConnectorMappingsAttributesPartialRt', () => { - it('strips excess fields from the object', () => { - const res = decodeOrThrow(ConnectorMappingsAttributesPartialRt)({ - bananas: 'yes', - owner: 'hi', - }); - expect(res).toMatchObject({ - owner: 'hi', - }); - }); - - it('does not throw when the object is empty', () => { - expect(() => decodeOrThrow(ConnectorMappingsAttributesPartialRt)({})).not.toThrow(); - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/mappings.ts b/x-pack/plugins/cases/common/api/connectors/mappings.ts deleted file mode 100644 index d5a3110e414aba..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/mappings.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -const ActionTypeRt = rt.union([ - rt.literal('append'), - rt.literal('nothing'), - rt.literal('overwrite'), -]); - -const CaseFieldRt = rt.union([ - rt.literal('title'), - rt.literal('description'), - rt.literal('comments'), - rt.literal('tags'), -]); - -const ThirdPartyFieldRt = rt.union([rt.string, rt.literal('not_mapped')]); - -export type ActionType = rt.TypeOf; -export type CaseField = rt.TypeOf; -export type ThirdPartyField = rt.TypeOf; - -const ConnectorMappingRt = rt.strict({ - action_type: ActionTypeRt, - source: CaseFieldRt, - target: ThirdPartyFieldRt, -}); - -export const ConnectorMappingsRt = rt.array(ConnectorMappingRt); - -export const ConnectorMappingsAttributesRt = rt.strict({ - mappings: ConnectorMappingsRt, - owner: rt.string, -}); - -export type ConnectorMappingsAttributes = rt.TypeOf; -export type ConnectorMappings = rt.TypeOf; - -export const ConnectorMappingResponseRt = rt.strict({ - id: rt.string, - version: rt.string, - mappings: ConnectorMappingsRt, -}); - -export type ConnectorMappingResponse = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/resilient.test.ts b/x-pack/plugins/cases/common/api/connectors/resilient.test.ts deleted file mode 100644 index 31643bcba57498..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/resilient.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ResilientFieldsRT } from './resilient'; - -describe('ResilientFieldsRT', () => { - const defaultRequest = { - severityCode: '6', - incidentTypes: ['19'], - }; - - it('has expected attributes in request', () => { - const query = ResilientFieldsRT.decode(defaultRequest); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ResilientFieldsRT.decode({ - ...defaultRequest, - foo: 'bar', - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/resilient.ts b/x-pack/plugins/cases/common/api/connectors/resilient.ts deleted file mode 100644 index a5bf69a5ed567e..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/resilient.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const ResilientFieldsRT = rt.strict({ - incidentTypes: rt.union([rt.array(rt.string), rt.null]), - severityCode: rt.union([rt.string, rt.null]), -}); - -export type ResilientFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.test.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.test.ts deleted file mode 100644 index ca9c4122547b78..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ServiceNowITSMFieldsRT } from './servicenow_itsm'; - -describe('ServiceNowITSMFieldsRT', () => { - const defaultReq = { - severity: '2', - urgency: '2', - impact: '2', - category: 'software', - subcategory: 'os', - }; - - it('has expected attributes in request', () => { - const query = ServiceNowITSMFieldsRT.decode(defaultReq); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ServiceNowITSMFieldsRT.decode({ ...defaultReq, foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.ts deleted file mode 100644 index 1f56fac694d579..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const ServiceNowITSMFieldsRT = rt.strict({ - impact: rt.union([rt.string, rt.null]), - severity: rt.union([rt.string, rt.null]), - urgency: rt.union([rt.string, rt.null]), - category: rt.union([rt.string, rt.null]), - subcategory: rt.union([rt.string, rt.null]), -}); - -export type ServiceNowITSMFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.test.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_sir.test.ts deleted file mode 100644 index 24df0bac78f979..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ServiceNowSIRFieldsRT } from './servicenow_sir'; - -describe('ServiceNowSIRFieldsRT', () => { - const defaultReq = { - destIp: true, - sourceIp: true, - malwareHash: true, - malwareUrl: true, - priority: '1', - category: 'Denial of Service', - subcategory: '26', - }; - - it('has expected attributes in request', () => { - const query = ServiceNowSIRFieldsRT.decode(defaultReq); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ServiceNowSIRFieldsRT.decode({ ...defaultReq, foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_sir.ts deleted file mode 100644 index afa2d3fd544da9..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const ServiceNowSIRFieldsRT = rt.strict({ - category: rt.union([rt.string, rt.null]), - destIp: rt.union([rt.boolean, rt.null]), - malwareHash: rt.union([rt.boolean, rt.null]), - malwareUrl: rt.union([rt.boolean, rt.null]), - priority: rt.union([rt.string, rt.null]), - sourceIp: rt.union([rt.boolean, rt.null]), - subcategory: rt.union([rt.string, rt.null]), -}); - -export type ServiceNowSIRFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/swimlane.test.ts b/x-pack/plugins/cases/common/api/connectors/swimlane.test.ts deleted file mode 100644 index d7632f65f77801..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/swimlane.test.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { SwimlaneFieldsRT } from './swimlane'; - -describe('SwimlaneFieldsRT', () => { - it('has expected attributes in request', () => { - const query = SwimlaneFieldsRT.decode({ caseId: 'basic-case-id' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: { caseId: 'basic-case-id' }, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = SwimlaneFieldsRT.decode({ caseId: 'basic-case-id', foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: { caseId: 'basic-case-id' }, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/swimlane.ts b/x-pack/plugins/cases/common/api/connectors/swimlane.ts deleted file mode 100644 index 9d4df1b492e71b..00000000000000 --- a/x-pack/plugins/cases/common/api/connectors/swimlane.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const SwimlaneFieldsRT = rt.strict({ - caseId: rt.union([rt.string, rt.null]), -}); - -export enum SwimlaneConnectorType { - All = 'all', - Alerts = 'alerts', - Cases = 'cases', -} - -export type SwimlaneFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/index.ts b/x-pack/plugins/cases/common/api/index.ts index 09f5317b79788c..440b8d988d8d7a 100644 --- a/x-pack/plugins/cases/common/api/index.ts +++ b/x-pack/plugins/cases/common/api/index.ts @@ -6,7 +6,6 @@ */ export * from './cases'; -export * from './connectors'; export * from './helpers'; export * from './runtime_types'; export * from './saved_object'; diff --git a/x-pack/plugins/cases/common/constants/index.ts b/x-pack/plugins/cases/common/constants/index.ts index 33c0f14a81501b..dcaf2bb0e64608 100644 --- a/x-pack/plugins/cases/common/constants/index.ts +++ b/x-pack/plugins/cases/common/constants/index.ts @@ -192,3 +192,9 @@ export const LOCAL_STORAGE_KEYS = { casesQueryParams: 'cases.list.queryParams', casesFilterOptions: 'cases.list.filterOptions', }; + +/** + * Connectors + */ + +export const NONE_CONNECTOR_ID: string = 'none'; diff --git a/x-pack/plugins/cases/common/index.ts b/x-pack/plugins/cases/common/index.ts index 8b335346373a02..2f376163a38347 100644 --- a/x-pack/plugins/cases/common/index.ts +++ b/x-pack/plugins/cases/common/index.ts @@ -40,13 +40,14 @@ export { LENS_ATTACHMENT_TYPE, } from './constants'; +export { ConnectorTypes } from './types/domain'; + export { - CommentType, - CaseStatuses, - CaseSeverity, - ConnectorTypes, getCasesFromAlertsUrl, throwErrors, + CaseStatuses, + CaseSeverity, + CommentType, ExternalReferenceStorageType, } from './api'; export { StatusAll } from './ui/types'; diff --git a/x-pack/plugins/cases/common/types/api/configure/v1.test.ts b/x-pack/plugins/cases/common/types/api/configure/v1.test.ts index 213706c73ccebb..d5756a606d43b7 100644 --- a/x-pack/plugins/cases/common/types/api/configure/v1.test.ts +++ b/x-pack/plugins/cases/common/types/api/configure/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../api'; +import { ConnectorTypes } from '../../domain/connector/v1'; import { CaseConfigureRequestParamsRt, ConfigurationPatchRequestRt, diff --git a/x-pack/plugins/cases/common/api/connectors/index.ts b/x-pack/plugins/cases/common/types/api/connector/latest.ts similarity index 51% rename from x-pack/plugins/cases/common/api/connectors/index.ts rename to x-pack/plugins/cases/common/types/api/connector/latest.ts index 33bb10cbcac1ba..25300c97a6d2e1 100644 --- a/x-pack/plugins/cases/common/api/connectors/index.ts +++ b/x-pack/plugins/cases/common/types/api/connector/latest.ts @@ -5,11 +5,4 @@ * 2.0. */ -export * from './jira'; -export * from './servicenow_itsm'; -export * from './servicenow_sir'; -export * from './resilient'; -export * from './mappings'; -export * from './swimlane'; -export * from './get_connectors'; -export * from './connector'; +export * from './v1'; diff --git a/x-pack/plugins/cases/common/types/api/connector/v1.test.ts b/x-pack/plugins/cases/common/types/api/connector/v1.test.ts new file mode 100644 index 00000000000000..187f77fa8ee981 --- /dev/null +++ b/x-pack/plugins/cases/common/types/api/connector/v1.test.ts @@ -0,0 +1,203 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + ConnectorMappingResponseRt, + FindActionConnectorResponseRt, + GetCaseConnectorsResponseRt, +} from './v1'; + +describe('FindActionConnectorResponseRt', () => { + const response = [ + { + id: 'test', + actionTypeId: '.test', + name: 'My connector', + isDeprecated: false, + isPreconfigured: false, + referencedByCount: 0, + config: { foo: 'bar' }, + isMissingSecrets: false, + isSystemAction: false, + }, + { + id: 'test-2', + actionTypeId: '.test', + name: 'My connector 2', + isDeprecated: false, + isPreconfigured: false, + isSystemAction: false, + referencedByCount: 0, + }, + ]; + + it('has expected attributes in request', () => { + const query = FindActionConnectorResponseRt.decode(response); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: response, + }); + }); + + it('removes foo:bar attributes from request', () => { + const query = FindActionConnectorResponseRt.decode([ + { + ...response[0], + foo: 'bar', + }, + ]); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: [response[0]], + }); + }); +}); + +describe('GetCaseConnectorsResponseRt', () => { + const externalService = { + connector_id: 'servicenow-1', + connector_name: 'My SN connector', + external_id: 'external_id', + external_title: 'external title', + external_url: 'basicPush.com', + pushed_at: '2023-01-17T09:46:29.813Z', + pushed_by: { + full_name: 'Leslie Knope', + username: 'lknope', + email: 'leslie.knope@elastic.co', + }, + }; + const defaultReq = { + 'servicenow-1': { + id: 'servicenow-1', + name: 'My SN connector', + type: '.servicenow', + fields: null, + push: { + needsToBePushed: false, + hasBeenPushed: true, + details: { + oldestUserActionPushDate: '2023-01-17T09:46:29.813Z', + latestUserActionPushDate: '2023-01-17T09:46:29.813Z', + externalService, + }, + }, + }, + }; + + it('has expected attributes in request', () => { + const query = GetCaseConnectorsResponseRt.decode(defaultReq); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); + + it('removes foo:bar attributes from request', () => { + const query = GetCaseConnectorsResponseRt.decode({ + 'servicenow-1': { ...defaultReq['servicenow-1'], externalService, foo: 'bar' }, + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); + + it('removes foo:bar attributes from externalService object', () => { + const query = GetCaseConnectorsResponseRt.decode({ + 'servicenow-1': { + ...defaultReq['servicenow-1'], + externalService: { ...externalService, foo: 'bar' }, + }, + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); + + it('removes foo:bar attributes from push object', () => { + const query = GetCaseConnectorsResponseRt.decode({ + 'servicenow-1': { + ...defaultReq['servicenow-1'], + push: { ...defaultReq['servicenow-1'].push, foo: 'bar' }, + }, + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); +}); + +describe('ConnectorMappingResponseRt', () => { + const mappings = [ + { + action_type: 'overwrite', + source: 'title', + target: 'unknown', + }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + }, + ]; + + describe('ConnectorMappingResponseRt', () => { + it('has expected attributes in response', () => { + const query = ConnectorMappingResponseRt.decode({ id: 'test', version: 'test', mappings }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { id: 'test', version: 'test', mappings }, + }); + }); + + it('removes foo:bar attributes from the response', () => { + const query = ConnectorMappingResponseRt.decode({ + id: 'test', + version: 'test', + mappings: [ + { ...mappings[0] }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + foo: 'bar', + }, + ], + foo: 'bar', + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { id: 'test', version: 'test', mappings }, + }); + }); + + it('removes foo:bar attributes from the mappings', () => { + const query = ConnectorMappingResponseRt.decode({ + id: 'test', + version: 'test', + mappings, + foo: 'bar', + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { id: 'test', version: 'test', mappings }, + }); + }); + }); +}); diff --git a/x-pack/plugins/cases/common/api/connectors/get_connectors.ts b/x-pack/plugins/cases/common/types/api/connector/v1.ts similarity index 55% rename from x-pack/plugins/cases/common/api/connectors/get_connectors.ts rename to x-pack/plugins/cases/common/types/api/connector/v1.ts index 748ad59de26492..bfbab672660ce6 100644 --- a/x-pack/plugins/cases/common/api/connectors/get_connectors.ts +++ b/x-pack/plugins/cases/common/types/api/connector/v1.ts @@ -6,8 +6,23 @@ */ import * as rt from 'io-ts'; -import { CaseConnectorRt } from './connector'; -import { CaseExternalServiceBasicRt } from '../cases'; +import { CaseExternalServiceBasicRt } from '../../../api'; +import { CaseConnectorRt, ConnectorMappingsRt } from '../../domain/connector/v1'; + +const ActionConnectorResultRt = rt.intersection([ + rt.strict({ + id: rt.string, + actionTypeId: rt.string, + name: rt.string, + isDeprecated: rt.boolean, + isPreconfigured: rt.boolean, + isSystemAction: rt.boolean, + referencedByCount: rt.number, + }), + rt.exact(rt.partial({ config: rt.record(rt.string, rt.unknown), isMissingSecrets: rt.boolean })), +]); + +export const FindActionConnectorResponseRt = rt.array(ActionConnectorResultRt); const PushDetailsRt = rt.strict({ latestUserActionPushDate: rt.string, @@ -37,5 +52,12 @@ export const GetCaseConnectorsResponseRt = rt.record( ]) ); +export const ConnectorMappingResponseRt = rt.strict({ + id: rt.string, + version: rt.string, + mappings: ConnectorMappingsRt, +}); + +export type ConnectorMappingResponse = rt.TypeOf; export type GetCaseConnectorsResponse = rt.TypeOf; export type GetCaseConnectorsPushDetails = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/types/api/index.ts b/x-pack/plugins/cases/common/types/api/index.ts index 3e00d0f5346f81..2e504bbd84b4cd 100644 --- a/x-pack/plugins/cases/common/types/api/index.ts +++ b/x-pack/plugins/cases/common/types/api/index.ts @@ -8,7 +8,9 @@ // Latest export * from './configure/latest'; export * from './user_action/latest'; +export * from './connector/latest'; // V1 export * as configureApiV1 from './configure/v1'; export * as userActionApiV1 from './user_action/v1'; +export * as connectorApiV1 from './connector/v1'; diff --git a/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts b/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts index f27db54b784f52..70b181ef004e6f 100644 --- a/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts +++ b/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../api'; +import { ConnectorTypes } from '../connector/v1'; import { ConfigurationAttributesRt, ConfigurationRt } from './v1'; describe('configure', () => { diff --git a/x-pack/plugins/cases/common/types/domain/configure/v1.ts b/x-pack/plugins/cases/common/types/domain/configure/v1.ts index 080d971026afc5..a93480e282c42b 100644 --- a/x-pack/plugins/cases/common/types/domain/configure/v1.ts +++ b/x-pack/plugins/cases/common/types/domain/configure/v1.ts @@ -6,7 +6,8 @@ */ import * as rt from 'io-ts'; -import { CaseConnectorRt, UserRt, ConnectorMappingsRt } from '../../../api'; +import { UserRt } from '../../../api'; +import { CaseConnectorRt, ConnectorMappingsRt } from '../connector/v1'; const ClosureTypeRt = rt.union([rt.literal('close-by-user'), rt.literal('close-by-pushing')]); diff --git a/x-pack/plugins/cases/common/types/domain/connector/latest.ts b/x-pack/plugins/cases/common/types/domain/connector/latest.ts new file mode 100644 index 00000000000000..25300c97a6d2e1 --- /dev/null +++ b/x-pack/plugins/cases/common/types/domain/connector/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/cases/common/api/connectors/connector.test.ts b/x-pack/plugins/cases/common/types/domain/connector/v1.test.ts similarity index 62% rename from x-pack/plugins/cases/common/api/connectors/connector.test.ts rename to x-pack/plugins/cases/common/types/domain/connector/v1.test.ts index 39640b16070240..45bdbecffa8230 100644 --- a/x-pack/plugins/cases/common/api/connectors/connector.test.ts +++ b/x-pack/plugins/cases/common/types/domain/connector/v1.test.ts @@ -10,8 +10,9 @@ import { CaseUserActionConnectorRt, CaseConnectorRt, ConnectorTypes, - FindActionConnectorResponseRt, -} from './connector'; + ConnectorMappingsAttributesRt, + ConnectorMappingsRt, +} from './v1'; describe('Connector', () => { describe('ConnectorTypeFieldsRt', () => { @@ -149,50 +150,93 @@ describe('Connector', () => { }); }); - describe('FindActionConnectorResponseRt', () => { - const response = [ + describe('mappings', () => { + const mappings = [ { - id: 'test', - actionTypeId: '.test', - name: 'My connector', - isDeprecated: false, - isPreconfigured: false, - referencedByCount: 0, - config: { foo: 'bar' }, - isMissingSecrets: false, - isSystemAction: false, + action_type: 'overwrite', + source: 'title', + target: 'unknown', }, { - id: 'test-2', - actionTypeId: '.test', - name: 'My connector 2', - isDeprecated: false, - isPreconfigured: false, - isSystemAction: false, - referencedByCount: 0, + action_type: 'append', + source: 'description', + target: 'not_mapped', }, ]; - it('has expected attributes in request', () => { - const query = FindActionConnectorResponseRt.decode(response); + const attributes = { + mappings: [ + { + action_type: 'overwrite', + source: 'title', + target: 'unknown', + }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + }, + ], + owner: 'cases', + }; - expect(query).toStrictEqual({ - _tag: 'Right', - right: response, + describe('ConnectorMappingsRt', () => { + it('has expected attributes in request', () => { + const query = ConnectorMappingsRt.decode(mappings); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: mappings, + }); + }); + + it('removes foo:bar attributes from mappings', () => { + const query = ConnectorMappingsRt.decode([ + { ...mappings[0] }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + foo: 'bar', + }, + ]); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: mappings, + }); }); }); - it('removes foo:bar attributes from request', () => { - const query = FindActionConnectorResponseRt.decode([ - { - ...response[0], - foo: 'bar', - }, - ]); + describe('ConnectorMappingsAttributesRt', () => { + it('has expected attributes in request', () => { + const query = ConnectorMappingsAttributesRt.decode(attributes); - expect(query).toStrictEqual({ - _tag: 'Right', - right: [response[0]], + expect(query).toStrictEqual({ + _tag: 'Right', + right: attributes, + }); + }); + + it('removes foo:bar attributes from request', () => { + const query = ConnectorMappingsAttributesRt.decode({ ...attributes, foo: 'bar' }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: attributes, + }); + }); + + it('removes foo:bar attributes from mappings', () => { + const query = ConnectorMappingsAttributesRt.decode({ + ...attributes, + mappings: [{ ...attributes.mappings[0], foo: 'bar' }], + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { ...attributes, mappings: [{ ...attributes.mappings[0] }] }, + }); }); }); }); diff --git a/x-pack/plugins/cases/common/api/connectors/connector.ts b/x-pack/plugins/cases/common/types/domain/connector/v1.ts similarity index 51% rename from x-pack/plugins/cases/common/api/connectors/connector.ts rename to x-pack/plugins/cases/common/types/domain/connector/v1.ts index ebdc1d5db9bb69..a690abcab97843 100644 --- a/x-pack/plugins/cases/common/api/connectors/connector.ts +++ b/x-pack/plugins/cases/common/types/domain/connector/v1.ts @@ -7,16 +7,11 @@ import * as rt from 'io-ts'; -import type { ActionType } from '@kbn/actions-plugin/common'; +import type { ActionType as ConnectorActionType } from '@kbn/actions-plugin/common'; import type { ActionResult } from '@kbn/actions-plugin/server/types'; -import { JiraFieldsRT } from './jira'; -import { ResilientFieldsRT } from './resilient'; -import { ServiceNowITSMFieldsRT } from './servicenow_itsm'; -import { ServiceNowSIRFieldsRT } from './servicenow_sir'; -import { SwimlaneFieldsRT } from './swimlane'; export type ActionConnector = ActionResult; -export type ActionTypeConnector = ActionType; +export type ActionTypeConnector = ConnectorActionType; export enum ConnectorTypes { casesWebhook = '.cases-webhook', @@ -33,38 +28,105 @@ const ConnectorCasesWebhookTypeFieldsRt = rt.strict({ fields: rt.null, }); +/** + * Jira + */ + +export const JiraFieldsRt = rt.strict({ + issueType: rt.union([rt.string, rt.null]), + priority: rt.union([rt.string, rt.null]), + parent: rt.union([rt.string, rt.null]), +}); + +export type JiraFieldsType = rt.TypeOf; + const ConnectorJiraTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.jira), - fields: rt.union([JiraFieldsRT, rt.null]), + fields: rt.union([JiraFieldsRt, rt.null]), }); +/** + * Resilient + */ + +export const ResilientFieldsRt = rt.strict({ + incidentTypes: rt.union([rt.array(rt.string), rt.null]), + severityCode: rt.union([rt.string, rt.null]), +}); + +export type ResilientFieldsType = rt.TypeOf; + const ConnectorResilientTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.resilient), - fields: rt.union([ResilientFieldsRT, rt.null]), + fields: rt.union([ResilientFieldsRt, rt.null]), }); +/** + * ServiceNow + */ + +export const ServiceNowITSMFieldsRt = rt.strict({ + impact: rt.union([rt.string, rt.null]), + severity: rt.union([rt.string, rt.null]), + urgency: rt.union([rt.string, rt.null]), + category: rt.union([rt.string, rt.null]), + subcategory: rt.union([rt.string, rt.null]), +}); + +export type ServiceNowITSMFieldsType = rt.TypeOf; + const ConnectorServiceNowITSMTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.serviceNowITSM), - fields: rt.union([ServiceNowITSMFieldsRT, rt.null]), + fields: rt.union([ServiceNowITSMFieldsRt, rt.null]), }); -const ConnectorSwimlaneTypeFieldsRt = rt.strict({ - type: rt.literal(ConnectorTypes.swimlane), - fields: rt.union([SwimlaneFieldsRT, rt.null]), +export const ServiceNowSIRFieldsRt = rt.strict({ + category: rt.union([rt.string, rt.null]), + destIp: rt.union([rt.boolean, rt.null]), + malwareHash: rt.union([rt.boolean, rt.null]), + malwareUrl: rt.union([rt.boolean, rt.null]), + priority: rt.union([rt.string, rt.null]), + sourceIp: rt.union([rt.boolean, rt.null]), + subcategory: rt.union([rt.string, rt.null]), }); +export type ServiceNowSIRFieldsType = rt.TypeOf; + const ConnectorServiceNowSIRTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.serviceNowSIR), - fields: rt.union([ServiceNowSIRFieldsRT, rt.null]), + fields: rt.union([ServiceNowSIRFieldsRt, rt.null]), +}); + +/** + * Swimlane + */ + +export const SwimlaneFieldsRt = rt.strict({ + caseId: rt.union([rt.string, rt.null]), }); +export enum SwimlaneConnectorType { + All = 'all', + Alerts = 'alerts', + Cases = 'cases', +} + +export type SwimlaneFieldsType = rt.TypeOf; + +const ConnectorSwimlaneTypeFieldsRt = rt.strict({ + type: rt.literal(ConnectorTypes.swimlane), + fields: rt.union([SwimlaneFieldsRt, rt.null]), +}); + +/** + * None connector + */ + const ConnectorNoneTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.none), fields: rt.null, }); -export const NONE_CONNECTOR_ID: string = 'none'; - export const ConnectorTypeFieldsRt = rt.union([ ConnectorCasesWebhookTypeFieldsRt, ConnectorJiraTypeFieldsRt, @@ -95,21 +157,43 @@ export const CaseConnectorRt = rt.intersection([ CaseUserActionConnectorRt, ]); -const ActionConnectorResultRt = rt.intersection([ - rt.strict({ - id: rt.string, - actionTypeId: rt.string, - name: rt.string, - isDeprecated: rt.boolean, - isPreconfigured: rt.boolean, - isSystemAction: rt.boolean, - referencedByCount: rt.number, - }), - rt.exact(rt.partial({ config: rt.record(rt.string, rt.unknown), isMissingSecrets: rt.boolean })), +/** + * Mappings + */ + +const ConnectorMappingActionTypeRt = rt.union([ + rt.literal('append'), + rt.literal('nothing'), + rt.literal('overwrite'), +]); + +const ConnectorMappingSourceRt = rt.union([ + rt.literal('title'), + rt.literal('description'), + rt.literal('comments'), + rt.literal('tags'), ]); -export const FindActionConnectorResponseRt = rt.array(ActionConnectorResultRt); +const ConnectorMappingTargetRt = rt.union([rt.string, rt.literal('not_mapped')]); + +const ConnectorMappingRt = rt.strict({ + action_type: ConnectorMappingActionTypeRt, + source: ConnectorMappingSourceRt, + target: ConnectorMappingTargetRt, +}); + +export const ConnectorMappingsRt = rt.array(ConnectorMappingRt); + +export const ConnectorMappingsAttributesRt = rt.strict({ + mappings: ConnectorMappingsRt, + owner: rt.string, +}); +export type ConnectorMappingsAttributes = rt.TypeOf; +export type ConnectorMappings = rt.TypeOf; +export type ConnectorMappingActionType = rt.TypeOf; +export type ConnectorMappingSource = rt.TypeOf; +export type ConnectorMappingTarget = rt.TypeOf; export type CaseUserActionConnector = rt.TypeOf; export type CaseConnector = rt.TypeOf; export type ConnectorTypeFields = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/types/domain/index.ts b/x-pack/plugins/cases/common/types/domain/index.ts index 6b4e58822da6de..b8832d3c7db14a 100644 --- a/x-pack/plugins/cases/common/types/domain/index.ts +++ b/x-pack/plugins/cases/common/types/domain/index.ts @@ -8,7 +8,9 @@ // Latest export * from './configure/latest'; export * from './user_action/latest'; +export * from './connector/latest'; // V1 export * as configureDomainV1 from './configure/v1'; export * as userActionDomainV1 from './user_action/v1'; +export * as connectorDomainV1 from './connector/v1'; diff --git a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts index 74512282c6ce11..714eafec4ec1e0 100644 --- a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts +++ b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../../api'; +import { ConnectorTypes } from '../../connector/v1'; import { ConnectorUserActionPayloadWithoutConnectorIdRt } from './v1'; describe('Connector', () => { diff --git a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts index 919c72a9f3973f..61c6e78f1f5aeb 100644 --- a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts +++ b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts @@ -6,7 +6,7 @@ */ import * as rt from 'io-ts'; -import { CaseConnectorRt, CaseUserActionConnectorRt } from '../../../../api'; +import { CaseUserActionConnectorRt, CaseConnectorRt } from '../../connector/v1'; import { UserActionTypes } from '../action/v1'; export const ConnectorUserActionPayloadWithoutConnectorIdRt = rt.strict({ diff --git a/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts b/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts index 179c5f0f22eb73..17e4777d18afa4 100644 --- a/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts +++ b/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../../api'; +import { ConnectorTypes } from '../../connector/v1'; import { UserActionTypes } from '../action/v1'; import { CreateCaseUserActionRt, CreateCaseUserActionWithoutConnectorIdRt } from './v1'; diff --git a/x-pack/plugins/cases/common/ui/types.ts b/x-pack/plugins/cases/common/ui/types.ts index d855e968bf17ff..e0cadcc12b6d00 100644 --- a/x-pack/plugins/cases/common/ui/types.ts +++ b/x-pack/plugins/cases/common/ui/types.ts @@ -16,7 +16,6 @@ import type { CasePatchRequest, CaseStatuses, User, - ActionConnector, SingleCaseMetricsResponse, Comment, Case as CaseSnakeCase, @@ -27,14 +26,14 @@ import type { CaseSeverity, CommentResponseExternalReferenceType, CommentResponseTypePersistableState, - GetCaseConnectorsResponse, GetCaseUsersResponse, } from '../api'; import type { PUSH_CASES_CAPABILITY } from '../constants'; import type { SnakeToCamelCase } from '../types'; -import type { UserAction } from '../types/domain'; +import type { ActionConnector, UserAction } from '../types/domain'; import type { CaseUserActionStatsResponse, + GetCaseConnectorsResponse, UserActionFindRequestTypes, UserActionFindResponse, } from '../types/api'; diff --git a/x-pack/plugins/cases/public/common/mock/connectors.ts b/x-pack/plugins/cases/public/common/mock/connectors.ts index f1ba88deedd14e..2d61f024302bd2 100644 --- a/x-pack/plugins/cases/public/common/mock/connectors.ts +++ b/x-pack/plugins/cases/public/common/mock/connectors.ts @@ -6,7 +6,7 @@ */ import { set } from '@kbn/safer-lodash-set'; -import type { ActionConnector, ActionTypeConnector } from '../../../common/api'; +import type { ActionConnector, ActionTypeConnector } from '../../../common/types/domain'; import { basicPush } from '../../containers/mock'; import type { CaseConnectors } from '../../containers/types'; diff --git a/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx b/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx index d5d8493e13ecfb..25698abe5da69e 100644 --- a/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx @@ -26,8 +26,8 @@ import { Status } from '@kbn/cases-components/src/status/status'; import type { UserProfileWithAvatar } from '@kbn/user-profile-components'; import { euiStyled } from '@kbn/kibana-react-plugin/common'; +import type { ActionConnector } from '../../../common/types/domain'; import type { CaseUI } from '../../../common/ui/types'; -import type { ActionConnector } from '../../../common/api'; import { CaseStatuses, CaseSeverity } from '../../../common/api'; import { OWNER_INFO } from '../../../common/constants'; import { getEmptyTagValue } from '../empty_value'; diff --git a/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx b/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx index 89f66abaf3f945..b0e82a9e81ef57 100644 --- a/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx +++ b/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx @@ -19,7 +19,6 @@ import { import type { AppMockRenderer } from '../../../common/mock'; import { createAppMockRenderer, noUpdateCasesPermissions } from '../../../common/mock'; import { CaseViewActivity } from './case_view_activity'; -import { ConnectorTypes } from '../../../../common/api/connectors'; import type { CaseUI } from '../../../../common'; import { CASE_VIEW_PAGE_TABS } from '../../../../common/types'; import type { CaseViewProps } from '../types'; @@ -37,7 +36,7 @@ import { useGetCaseUserActionsStats } from '../../../containers/use_get_case_use import { useInfiniteFindCaseUserActions } from '../../../containers/use_infinite_find_case_user_actions'; import { useOnUpdateField } from '../use_on_update_field'; import { useCasesFeatures } from '../../../common/use_cases_features'; -import { UserActionTypes } from '../../../../common/types/domain'; +import { ConnectorTypes, UserActionTypes } from '../../../../common/types/domain'; jest.mock('../../../containers/use_infinite_find_case_user_actions'); jest.mock('../../../containers/use_find_case_user_actions'); diff --git a/x-pack/plugins/cases/public/components/case_view/mocks.ts b/x-pack/plugins/cases/public/components/case_view/mocks.ts index 9f7705f6a53bd1..f6764ae133401d 100644 --- a/x-pack/plugins/cases/public/components/case_view/mocks.ts +++ b/x-pack/plugins/cases/public/components/case_view/mocks.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { alertComment, basicCase, diff --git a/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts b/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts index a123ccea5f3f3c..ee9cd2b563b4b3 100644 --- a/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts +++ b/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts @@ -8,7 +8,7 @@ import { useCallback, useState } from 'react'; import deepEqual from 'fast-deep-equal'; -import type { CaseConnector } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; import type { CaseAttributes } from '../../../common/api/cases/case'; import type { CaseStatuses } from '../../../common/api/cases/status'; import type { CaseUI, UpdateByKey, UpdateKey } from '../../containers/types'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx b/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx index 5ffdf69e47a41f..28267d407cb3f3 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { ActionTypeConnector } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ActionTypeConnector } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { ActionConnector } from '../../../containers/configure/types'; import type { ReturnUseCaseConfigure } from '../../../containers/configure/use_configure'; import { connectorsMock, actionTypesMock } from '../../../common/mock/connectors'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx b/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx index 19ac7d0b667c1c..c77340b4f37acc 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx @@ -16,7 +16,7 @@ import type { AppMockRenderer } from '../../common/mock'; import { createAppMockRenderer, TestProviders } from '../../common/mock'; import { ConnectorsDropdown } from './connectors_dropdown'; import { connectors, actionTypes } from './__mock__'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; describe('Connectors', () => { let wrapper: ReactWrapper; diff --git a/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx b/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx index 3ce055bd50a308..0b51323f3ffd83 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx @@ -22,8 +22,8 @@ import * as i18n from './translations'; import type { ActionConnector, CaseConnectorMapping } from '../../containers/configure/types'; import { Mapping } from './mapping'; -import type { ActionTypeConnector } from '../../../common/api'; -import { ConnectorTypes } from '../../../common/api'; +import type { ActionTypeConnector } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; import { DeprecatedCallout } from '../connectors/deprecated_callout'; import { isDeprecatedConnector } from '../utils'; import { useApplicationCapabilities } from '../../common/lib/kibana'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx b/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx index 84fea6aebc4985..8f15e580e83d5f 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx @@ -9,13 +9,17 @@ import React, { useMemo } from 'react'; import { EuiCode, EuiFlexItem, EuiFlexGroup, EuiIcon, EuiLoadingSpinner } from '@elastic/eui'; import { capitalize } from 'lodash/fp'; -import type { CaseField, ActionType, ThirdPartyField } from '../../containers/configure/types'; +import type { + ConnectorMappingSource, + ConnectorMappingActionType, + ConnectorMappingTarget, +} from '../../containers/configure/types'; export interface RowProps { isLoading: boolean; - casesField: CaseField; - selectedActionType: ActionType; - selectedThirdParty: ThirdPartyField; + casesField: ConnectorMappingSource; + selectedActionType: ConnectorMappingActionType; + selectedThirdParty: ConnectorMappingTarget; } const FieldMappingRowComponent: React.FC = ({ diff --git a/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx b/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx index bad53d324da3c9..5272eaebad5128 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx @@ -25,7 +25,7 @@ import { useConnectorsResponse, useActionTypesResponse, } from './__mock__'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { actionTypeRegistryMock } from '@kbn/triggers-actions-ui-plugin/public/application/action_type_registry.mock'; import { useGetActionTypes } from '../../containers/configure/use_action_types'; import { useGetSupportedActionConnectors } from '../../containers/configure/use_get_supported_action_connectors'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx b/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx index b97602beda906b..413499010cdb26 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx @@ -12,7 +12,7 @@ import { TestProviders } from '../../common/mock'; import type { MappingProps } from './mapping'; import { Mapping } from './mapping'; import { mappings } from './__mock__'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; describe('Mapping', () => { const props: MappingProps = { diff --git a/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx b/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx index 0338e33a5f3c9a..52ed6fd21a5a3f 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx @@ -10,7 +10,7 @@ import React, { useMemo } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTextColor } from '@elastic/eui'; import type { TextColor } from '@elastic/eui/src/components/text/text_color'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import * as i18n from './translations'; import { FieldMapping } from './field_mapping'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/utils.ts b/x-pack/plugins/cases/public/components/configure_cases/utils.ts index a4dfc0442c6d99..2177ea7af81d99 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/utils.ts +++ b/x-pack/plugins/cases/public/components/configure_cases/utils.ts @@ -5,20 +5,20 @@ * 2.0. */ -import type { ConnectorTypeFields } from '../../../common/api'; -import { ConnectorTypes } from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { - CaseField, - ActionType, - ThirdPartyField, + ConnectorMappingSource, + ConnectorMappingActionType, + ConnectorMappingTarget, CaseConnector, CaseConnectorMapping, } from '../../containers/configure/types'; import type { CaseActionConnector } from '../types'; export const setActionTypeToMapping = ( - caseField: CaseField, - newActionType: ActionType, + caseField: ConnectorMappingSource, + newActionType: ConnectorMappingActionType, mapping: CaseConnectorMapping[] ): CaseConnectorMapping[] => { const findItemIndex = mapping.findIndex((item) => item.source === caseField); @@ -35,8 +35,8 @@ export const setActionTypeToMapping = ( }; export const setThirdPartyToMapping = ( - caseField: CaseField, - newThirdPartyField: ThirdPartyField, + caseField: ConnectorMappingSource, + newThirdPartyField: ConnectorMappingTarget, mapping: CaseConnectorMapping[] ): CaseConnectorMapping[] => mapping.map((item) => { diff --git a/x-pack/plugins/cases/public/components/connector_selector/form.tsx b/x-pack/plugins/cases/public/components/connector_selector/form.tsx index d4e668f3633b27..72169c798379f4 100644 --- a/x-pack/plugins/cases/public/components/connector_selector/form.tsx +++ b/x-pack/plugins/cases/public/components/connector_selector/form.tsx @@ -12,8 +12,8 @@ import styled from 'styled-components'; import type { FieldHook } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { getFieldValidityAndErrorMessage } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import type { ActionConnector } from '../../../common/types/domain'; import { ConnectorsDropdown } from '../configure_cases/connectors_dropdown'; -import type { ActionConnector } from '../../../common/api'; interface ConnectorSelectorProps { connectors: ActionConnector[]; diff --git a/x-pack/plugins/cases/public/components/connectors/card.test.tsx b/x-pack/plugins/cases/public/components/connectors/card.test.tsx index 2bc9635d26f6b4..cdc658a29a4047 100644 --- a/x-pack/plugins/cases/public/components/connectors/card.test.tsx +++ b/x-pack/plugins/cases/public/components/connectors/card.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { ConnectorCard } from './card'; import { createQueryWithMarkup } from '../../common/test_utils'; diff --git a/x-pack/plugins/cases/public/components/connectors/card.tsx b/x-pack/plugins/cases/public/components/connectors/card.tsx index fc7b550ac64968..47ca384d175e62 100644 --- a/x-pack/plugins/cases/public/components/connectors/card.tsx +++ b/x-pack/plugins/cases/public/components/connectors/card.tsx @@ -8,7 +8,7 @@ import React, { memo } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiSkeletonText, EuiText } from '@elastic/eui'; -import type { ConnectorTypes } from '../../../common/api'; +import type { ConnectorTypes } from '../../../common/types/domain'; import { useKibana } from '../../common/lib/kibana'; import { getConnectorIcon } from '../utils'; diff --git a/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx index 1ba9bf7666630f..32cfed3b2a1c32 100644 --- a/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { EuiCallOut, EuiSpacer } from '@elastic/eui'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { ConnectorFieldsPreviewProps } from '../types'; import { ConnectorCard } from '../card'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts b/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts index 4f50b8ddf7a974..7cb3f8b4bce635 100644 --- a/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts @@ -8,7 +8,7 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; export const getCaseConnector = (): CaseConnector => { return { diff --git a/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx b/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx index 2554c72bce8a4a..0405a567d834df 100644 --- a/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx +++ b/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx @@ -8,7 +8,7 @@ import React, { memo, Suspense } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiLoadingSpinner } from '@elastic/eui'; -import type { ConnectorTypeFields } from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; import type { CaseActionConnector } from '../types'; import { getCaseConnectors } from '.'; diff --git a/x-pack/plugins/cases/public/components/connectors/index.ts b/x-pack/plugins/cases/public/components/connectors/index.ts index 9e23f6d16f6775..b3ba36f75d65ca 100644 --- a/x-pack/plugins/cases/public/components/connectors/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/index.ts @@ -18,7 +18,7 @@ import type { ServiceNowSIRFieldsType, ResilientFieldsType, SwimlaneFieldsType, -} from '../../../common/api'; +} from '../../../common/types/domain'; export * from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx b/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx index fb7155cfdbd866..57772c0b177b7f 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx @@ -13,8 +13,8 @@ import { UseField, useFormData } from '@kbn/es-ui-shared-plugin/static/forms/hoo import { fieldValidators } from '@kbn/es-ui-shared-plugin/static/forms/helpers'; import { isEmpty } from 'lodash'; +import type { JiraFieldsType } from '../../../../common/types/domain'; import * as i18n from './translations'; -import type { JiraFieldsType } from '../../../../common/api'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsProps } from '../types'; import { useGetIssueTypes } from './use_get_issue_types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx index 97c3ff10c8b9e5..1daa8632e8d2db 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx @@ -8,8 +8,8 @@ import React, { useMemo } from 'react'; import * as i18n from './translations'; -import type { JiraFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { JiraFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsPreviewProps } from '../types'; import { useGetIssueTypes } from './use_get_issue_types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/index.ts b/x-pack/plugins/cases/public/components/connectors/jira/index.ts index 740b23aac376dd..28d5a49fa5ff16 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/jira/index.ts @@ -8,8 +8,8 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { JiraFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { JiraFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export * from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx b/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx index b6e642a76cc40e..27df975ac58646 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx @@ -14,7 +14,7 @@ import { UseField, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { useKibana } from '../../../common/lib/kibana'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { useGetIssues } from './use_get_issues'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx b/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx index 53923b12f5a46f..c41c110ef64a55 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx @@ -11,7 +11,7 @@ import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { isEmpty } from 'lodash'; import type { ServerError } from '../../../types'; import { useCasesToast } from '../../../common/use_cases_toast'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { getFieldsByIssueType } from './api'; import type { Fields } from './types'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx index 9f4363599e8a9d..274805cda79c43 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getIssueTypes } from './api'; import type { IssueTypes } from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx index 27f19166e5d456..037fcc6bb8d8e5 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx @@ -11,7 +11,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useQuery } from '@tanstack/react-query'; import { isEmpty } from 'lodash'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { getIssues } from './api'; import type { Issues } from './types'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/mock.ts b/x-pack/plugins/cases/public/components/connectors/mock.ts index c66f11ebacff7b..b7271d40043d3d 100644 --- a/x-pack/plugins/cases/public/components/connectors/mock.ts +++ b/x-pack/plugins/cases/public/components/connectors/mock.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SwimlaneConnectorType } from '../../../common/api'; +import { SwimlaneConnectorType } from '../../../common/types/domain'; export const connector = { id: '123', diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx index 28ab9f350d7594..7edfef3e303f02 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx @@ -13,8 +13,8 @@ import { useGetIncidentTypes } from './use_get_incident_types'; import { useGetSeverity } from './use_get_severity'; import * as i18n from './translations'; -import type { ResilientFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ResilientFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { ConnectorCard } from '../card'; const ResilientFieldsComponent: React.FunctionComponent< diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/index.ts b/x-pack/plugins/cases/public/components/connectors/resilient/index.ts index 1da988b5aefad1..87745d82d22fbe 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/resilient/index.ts @@ -8,8 +8,8 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { ResilientFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ResilientFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export * from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx index 211226da794922..44d687af02d797 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx +++ b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getIncidentTypes } from './api'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx index ebb04a1c37964d..6909cf5b8f4a96 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx +++ b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getSeverity } from './api'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts b/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts index 86f20819c90c88..285a06be1eba51 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts @@ -8,8 +8,11 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { ServiceNowITSMFieldsType, ServiceNowSIRFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { + ServiceNowITSMFieldsType, + ServiceNowSIRFieldsType, +} from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export const getServiceNowITSMCaseConnector = (): CaseConnector => ({ diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx index 3eb97e46bec6c9..7d6981fda05e42 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx @@ -13,10 +13,10 @@ import { useFormData, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { SelectField } from '@kbn/es-ui-shared-plugin/static/forms/components'; +import type { ServiceNowITSMFieldsType } from '../../../../common/types/domain'; import * as i18n from './translations'; import type { ConnectorFieldsProps } from '../types'; -import type { ServiceNowITSMFieldsType } from '../../../../common/api'; import { useKibana } from '../../../common/lib/kibana'; import { useGetChoices } from './use_get_choices'; import type { Fields } from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx index 8979fa442b0517..c88960b15f94f4 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx @@ -10,8 +10,8 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import * as i18n from './translations'; import type { ConnectorFieldsPreviewProps } from '../types'; -import type { ServiceNowITSMFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ServiceNowITSMFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import { ConnectorCard } from '../card'; import { useGetChoices } from './use_get_choices'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx index 4216030988a8d7..e07fcc204c9da6 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx @@ -14,7 +14,7 @@ import { useFormData, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { CheckBoxField, SelectField } from '@kbn/es-ui-shared-plugin/static/forms/components'; -import type { ServiceNowSIRFieldsType } from '../../../../common/api'; +import type { ServiceNowSIRFieldsType } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsProps } from '../types'; import { useGetChoices } from './use_get_choices'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx index d2ff78205fb8ba..e89bff6251718b 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx @@ -8,8 +8,8 @@ import React, { useMemo } from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import type { ServiceNowSIRFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ServiceNowSIRFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsPreviewProps } from '../types'; import { ConnectorCard } from '../card'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx index 06141f14dbeb85..0368783f602c5d 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx @@ -8,7 +8,7 @@ import { renderHook } from '@testing-library/react-hooks'; import { useKibana, useToasts } from '../../../common/lib/kibana'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { useGetChoices } from './use_get_choices'; import type { AppMockRenderer } from '../../../common/mock'; import { createAppMockRenderer } from '../../../common/mock'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx index 4e43cd0475187c..55927aec802700 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getChoices } from './api'; import type { Choice } from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx index 07864bef78c8d7..e7a02e5d119981 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx @@ -8,11 +8,11 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { SwimlaneConnectorType } from '../../../../common/api'; import Fields from './case_fields'; import * as i18n from './translations'; import { swimlaneConnector as connector } from '../mock'; import { MockFormWrapperComponent } from '../test_utils'; +import { SwimlaneConnectorType } from '../../../../common/types/domain'; const fields = { caseId: '123', diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx index b33d85daa779ce..29ae2d2d8e7fb5 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx @@ -9,8 +9,8 @@ import React, { useMemo } from 'react'; import { EuiCallOut } from '@elastic/eui'; import * as i18n from './translations'; -import type { SwimlaneFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { SwimlaneFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { ConnectorFieldsPreviewProps } from '../types'; import { ConnectorCard } from '../card'; import { connectorValidator } from './validator'; diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts b/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts index 7092fa731ef8f8..4949ebd96b5848 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts @@ -8,8 +8,8 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { SwimlaneFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { SwimlaneFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export const getCaseConnector = (): CaseConnector => { diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts index a179091282991a..5c9ab7b75ef3dc 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SwimlaneConnectorType } from '../../../../common/api'; +import { SwimlaneConnectorType } from '../../../../common/types/domain'; import { swimlaneConnector as connector } from '../mock'; import { isAnyRequiredFieldNotSet, connectorValidator } from './validator'; diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts index eddac63223de8c..b284627326ed28 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts @@ -6,7 +6,7 @@ */ import type { ValidationConfig } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; -import { SwimlaneConnectorType } from '../../../../common/api'; +import { SwimlaneConnectorType } from '../../../../common/types/domain'; import type { CaseActionConnector } from '../../types'; const casesRequiredFields = [ diff --git a/x-pack/plugins/cases/public/components/connectors/types.ts b/x-pack/plugins/cases/public/components/connectors/types.ts index 1bab580b2c5053..a4870fd0748f07 100644 --- a/x-pack/plugins/cases/public/components/connectors/types.ts +++ b/x-pack/plugins/cases/public/components/connectors/types.ts @@ -8,21 +8,10 @@ import type { IconType } from '@elastic/eui'; import type React from 'react'; -import type { - ActionType as ThirdPartySupportedActions, - CaseField, - ConnectorTypeFields, -} from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; import type { CaseActionConnector } from '../types'; -export type { ThirdPartyField as AllThirdPartyFields } from '../../../common/api'; - -export interface ThirdPartyField { - label: string; - validSourceFields: CaseField[]; - defaultSourceField: CaseField; - defaultActionType: ThirdPartySupportedActions; -} +export type { ConnectorMappingTarget } from '../../../common/types/domain'; export interface ConnectorConfiguration { name: string; diff --git a/x-pack/plugins/cases/public/components/create/connector.tsx b/x-pack/plugins/cases/public/components/create/connector.tsx index 96f5198ddb4015..58bf659b68cf59 100644 --- a/x-pack/plugins/cases/public/components/create/connector.tsx +++ b/x-pack/plugins/cases/public/components/create/connector.tsx @@ -10,7 +10,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; import type { FieldConfig } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { UseField, useFormData } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; -import type { ActionConnector } from '../../../common/api'; +import type { ActionConnector } from '../../../common/types/domain'; import { ConnectorSelector } from '../connector_selector/form'; import { ConnectorFieldsForm } from '../connectors/fields_form'; import { schema } from './schema'; diff --git a/x-pack/plugins/cases/public/components/create/form.test.tsx b/x-pack/plugins/cases/public/components/create/form.test.tsx index 3c53a384275c5d..627b5ccd2e7b4e 100644 --- a/x-pack/plugins/cases/public/components/create/form.test.tsx +++ b/x-pack/plugins/cases/public/components/create/form.test.tsx @@ -11,7 +11,7 @@ import { act, render, within, fireEvent } from '@testing-library/react'; import { waitFor } from '@testing-library/dom'; import { licensingMock } from '@kbn/licensing-plugin/public/mocks'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { FormHook } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { useForm, Form } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { connectorsMock } from '../../containers/mock'; diff --git a/x-pack/plugins/cases/public/components/create/form.tsx b/x-pack/plugins/cases/public/components/create/form.tsx index 71df6b97a8bdd5..ff305196e2975e 100644 --- a/x-pack/plugins/cases/public/components/create/form.tsx +++ b/x-pack/plugins/cases/public/components/create/form.tsx @@ -17,13 +17,14 @@ import styled, { css } from 'styled-components'; import { useFormContext } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import type { ActionConnector } from '../../../common/types/domain'; import { Title } from './title'; import { Description, fieldName as descriptionFieldName } from './description'; import { Tags } from './tags'; import { Connector } from './connector'; import * as i18n from './translations'; import { SyncAlertsToggle } from './sync_alerts_toggle'; -import type { ActionConnector, CasePostRequest } from '../../../common/api'; +import type { CasePostRequest } from '../../../common/api'; import type { CaseUI } from '../../containers/types'; import type { CasesTimelineIntegration } from '../timeline_context'; import { CasesTimelineIntegrationProvider } from '../timeline_context'; diff --git a/x-pack/plugins/cases/public/components/create/form_context.test.tsx b/x-pack/plugins/cases/public/components/create/form_context.test.tsx index 17bacdf683c4ef..048d41241e29e4 100644 --- a/x-pack/plugins/cases/public/components/create/form_context.test.tsx +++ b/x-pack/plugins/cases/public/components/create/form_context.test.tsx @@ -10,7 +10,7 @@ import type { Screen } from '@testing-library/react'; import { waitFor, within, screen, act } from '@testing-library/react'; import { waitForEuiPopoverOpen } from '@elastic/eui/lib/test/rtl'; -import { CaseSeverity, CommentType, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CommentType } from '../../../common/api'; import { useKibana } from '../../common/lib/kibana'; import type { AppMockRenderer } from '../../common/mock'; import { createAppMockRenderer } from '../../common/mock'; @@ -48,6 +48,7 @@ import { userProfiles } from '../../containers/user_profiles/api.mock'; import { useLicense } from '../../common/use_license'; import { useGetCategories } from '../../containers/use_get_categories'; import { categories } from '../../containers/mock'; +import { ConnectorTypes } from '../../../common/types/domain'; jest.mock('../../containers/use_post_case'); jest.mock('../../containers/use_create_attachments'); diff --git a/x-pack/plugins/cases/public/components/create/form_context.tsx b/x-pack/plugins/cases/public/components/create/form_context.tsx index b77d3be7b581ec..e86e6a8bca0ad0 100644 --- a/x-pack/plugins/cases/public/components/create/form_context.tsx +++ b/x-pack/plugins/cases/public/components/create/form_context.tsx @@ -7,6 +7,7 @@ import React, { useCallback, useMemo } from 'react'; import { Form, useForm } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { FormProps } from './schema'; import { schema } from './schema'; import { getNoneConnector, normalizeActionConnector } from '../configure_cases/utils'; @@ -15,7 +16,7 @@ import { usePostPushToService } from '../../containers/use_post_push_to_service' import type { CaseUI } from '../../containers/types'; import type { CasePostRequest } from '../../../common/api'; -import { CaseSeverity, NONE_CONNECTOR_ID } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; import type { UseCreateAttachments } from '../../containers/use_create_attachments'; import { useCreateAttachments } from '../../containers/use_create_attachments'; import { useCasesContext } from '../cases_context/use_cases_context'; diff --git a/x-pack/plugins/cases/public/components/create/mock.ts b/x-pack/plugins/cases/public/components/create/mock.ts index ea3c6e83f4e6d5..784eebd277e860 100644 --- a/x-pack/plugins/cases/public/components/create/mock.ts +++ b/x-pack/plugins/cases/public/components/create/mock.ts @@ -5,8 +5,9 @@ * 2.0. */ +import { ConnectorTypes } from '../../../common/types/domain'; import type { CasePostRequest } from '../../../common/api'; -import { CaseSeverity, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { choices } from '../connectors/mock'; diff --git a/x-pack/plugins/cases/public/components/create/schema.tsx b/x-pack/plugins/cases/public/components/create/schema.tsx index 2b4cd14aabc65f..86dfa8bc06b90b 100644 --- a/x-pack/plugins/cases/public/components/create/schema.tsx +++ b/x-pack/plugins/cases/public/components/create/schema.tsx @@ -8,7 +8,8 @@ import type { FormSchema } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { FIELD_TYPES, VALIDATION_TYPES } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { fieldValidators } from '@kbn/es-ui-shared-plugin/static/forms/helpers'; -import type { CasePostRequest, ConnectorTypeFields } from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; +import type { CasePostRequest } from '../../../common/api'; import { MAX_TITLE_LENGTH, MAX_DESCRIPTION_LENGTH, diff --git a/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx b/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx index e28d2908689e67..2cbe8c185061bc 100644 --- a/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx +++ b/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx @@ -14,9 +14,8 @@ import { } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import React, { useCallback, useMemo } from 'react'; import { EuiButton, EuiButtonEmpty, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { CaseConnectors, CaseUI } from '../../../common/ui/types'; -import type { CaseConnector, ConnectorTypeFields } from '../../../common/api'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; import { ConnectorFieldsForm } from '../connectors/fields_form'; import type { CaseActionConnector } from '../types'; import { @@ -29,6 +28,7 @@ import { import { ConnectorSelector } from '../connector_selector/form'; import { getNoneConnector, normalizeActionConnector } from '../configure_cases/utils'; import * as i18n from './translations'; +import type { ConnectorTypeFields, CaseConnector } from '../../../common/types/domain'; interface Props { caseData: CaseUI; diff --git a/x-pack/plugins/cases/public/components/edit_connector/index.tsx b/x-pack/plugins/cases/public/components/edit_connector/index.tsx index 875e2ce6ffe234..ee819af75b4001 100644 --- a/x-pack/plugins/cases/public/components/edit_connector/index.tsx +++ b/x-pack/plugins/cases/public/components/edit_connector/index.tsx @@ -12,7 +12,7 @@ import { EuiText, EuiHorizontalRule, EuiFlexGroup, EuiFlexItem, EuiButtonIcon } import { isEmpty } from 'lodash/fp'; import type { CaseUI, CaseConnectors } from '../../../common/ui/types'; -import type { ActionConnector, CaseConnector } from '../../../common/api'; +import type { ActionConnector, CaseConnector } from '../../../common/types/domain'; import * as i18n from './translations'; import { getConnectorById } from '../utils'; import { usePushToService } from '../use_push_to_service'; diff --git a/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx b/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx index 17a535be3d9875..3d430cceaacc6f 100644 --- a/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx +++ b/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx @@ -12,8 +12,9 @@ import '../../common/mock/match_media'; import type { ReturnUsePushToService, UsePushToService } from '.'; import { usePushToService } from '.'; import { noPushCasesPermissions, readCasesPermissions, TestProviders } from '../../common/mock'; -import type { CaseConnector } from '../../../common/api'; -import { CaseStatuses, ConnectorTypes } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; +import { CaseStatuses } from '../../../common/api'; import { usePostPushToService } from '../../containers/use_post_push_to_service'; import { actionLicenses } from '../../containers/mock'; import { CLOSED_CASE_PUSH_ERROR_ID } from './callout/types'; diff --git a/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx b/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx index 3b751b46220f53..db28ae31ecdbe0 100644 --- a/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx +++ b/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx @@ -15,7 +15,7 @@ import { getDeletedConnectorError, getCaseClosedInfo, } from './helpers'; -import type { CaseConnector } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; import { CaseStatuses } from '../../../common/api'; import type { ErrorMessage } from './callout/types'; import { useRefreshCaseViewPage } from '../case_view/use_on_refresh_case_view_page'; diff --git a/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx b/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx index 5134d6addc64b5..db2994013f6909 100644 --- a/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx +++ b/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiCommentList } from '@elastic/eui'; import { render, screen } from '@testing-library/react'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import { getUserAction, getJiraConnector } from '../../containers/mock'; import { TestProviders } from '../../common/mock'; import { createConnectorUserActionBuilder } from './connector'; diff --git a/x-pack/plugins/cases/public/components/user_actions/connector.tsx b/x-pack/plugins/cases/public/components/user_actions/connector.tsx index d3f727a7a16c55..7fb550d58a7819 100644 --- a/x-pack/plugins/cases/public/components/user_actions/connector.tsx +++ b/x-pack/plugins/cases/public/components/user_actions/connector.tsx @@ -7,7 +7,7 @@ import type { SnakeToCamelCase } from '../../../common/types'; import type { ConnectorUserAction } from '../../../common/types/domain'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { UserActionBuilder } from './types'; import { createCommonUpdateUserActionBuilder } from './common'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx b/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx index 5b014f095477a3..c6e72e91b3fc80 100644 --- a/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx +++ b/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiCommentList } from '@elastic/eui'; import { render, screen } from '@testing-library/react'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import { getUserAction } from '../../containers/mock'; import { TestProviders } from '../../common/mock'; import { createPushedUserActionBuilder } from './pushed'; diff --git a/x-pack/plugins/cases/public/components/utils.ts b/x-pack/plugins/cases/public/components/utils.ts index ff1775b54a6039..bf964f065a436d 100644 --- a/x-pack/plugins/cases/public/components/utils.ts +++ b/x-pack/plugins/cases/public/components/utils.ts @@ -10,8 +10,8 @@ import type { FieldConfig, ValidationConfig, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; -import type { ConnectorTypeFields } from '../../common/api'; -import { ConnectorTypes } from '../../common/api'; +import type { ConnectorTypeFields } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; import type { CasesPluginStart } from '../types'; import { connectorValidator as swimlaneConnectorValidator } from './connectors/swimlane/validator'; import type { CaseActionConnector } from './types'; diff --git a/x-pack/plugins/cases/public/containers/api.test.tsx b/x-pack/plugins/cases/public/containers/api.test.tsx index 7e085eb0b6293f..b93b403e79a3ac 100644 --- a/x-pack/plugins/cases/public/containers/api.test.tsx +++ b/x-pack/plugins/cases/public/containers/api.test.tsx @@ -9,7 +9,7 @@ import { httpServiceMock } from '@kbn/core/public/mocks'; import { BASE_RAC_ALERTS_API_PATH } from '@kbn/rule-registry-plugin/common'; import { KibanaServices } from '../common/lib/kibana'; -import { ConnectorTypes, CommentType, CaseStatuses, CaseSeverity } from '../../common/api'; +import { CommentType, CaseStatuses, CaseSeverity } from '../../common/api'; import { CASES_INTERNAL_URL, CASES_URL, @@ -73,6 +73,7 @@ import { getCaseConnectorsMockResponse } from '../common/mock/connectors'; import { set } from '@kbn/safer-lodash-set'; import { cloneDeep, omit } from 'lodash'; import type { CaseUserActionTypeWithAll } from './types'; +import { ConnectorTypes } from '../../common/types/domain'; const abortCtrl = new AbortController(); const mockKibanaServices = KibanaServices.get as jest.Mock; diff --git a/x-pack/plugins/cases/public/containers/api.ts b/x-pack/plugins/cases/public/containers/api.ts index e129c77dc9ae1e..2a4a92f0eaa8a5 100644 --- a/x-pack/plugins/cases/public/containers/api.ts +++ b/x-pack/plugins/cases/public/containers/api.ts @@ -7,7 +7,11 @@ import type { ValidFeatureId } from '@kbn/rule-data-utils'; import { BASE_RAC_ALERTS_API_PATH } from '@kbn/rule-registry-plugin/common/constants'; -import type { CaseUserActionStatsResponse, UserActionFindResponse } from '../../common/types/api'; +import type { + CaseUserActionStatsResponse, + GetCaseConnectorsResponse, + UserActionFindResponse, +} from '../../common/types/api'; import type { CaseConnectors, CaseUpdateRequest, @@ -30,7 +34,6 @@ import type { User, SingleCaseMetricsResponse, CasesFindResponse, - GetCaseConnectorsResponse, Case, Cases, } from '../../common/api'; diff --git a/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts b/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts index 3737b26cf11c11..bac2713c751355 100644 --- a/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts +++ b/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ActionConnector, ActionTypeConnector } from '../../../../common/api'; +import type { ActionConnector, ActionTypeConnector } from '../../../../common/types/domain'; import type { ApiProps } from '../../types'; import type { CaseConfigure } from '../types'; diff --git a/x-pack/plugins/cases/public/containers/configure/api.test.ts b/x-pack/plugins/cases/public/containers/configure/api.test.ts index 9099f908a78713..844a23ab17f2b0 100644 --- a/x-pack/plugins/cases/public/containers/configure/api.test.ts +++ b/x-pack/plugins/cases/public/containers/configure/api.test.ts @@ -17,7 +17,7 @@ import { caseConfigurationResposeMock, caseConfigurationCamelCaseResponseMock, } from './mock'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { KibanaServices } from '../../common/lib/kibana'; import { actionTypesMock, connectorsMock } from '../../common/mock/connectors'; diff --git a/x-pack/plugins/cases/public/containers/configure/api.ts b/x-pack/plugins/cases/public/containers/configure/api.ts index 7ca6481a417cfb..f1d86cb0902349 100644 --- a/x-pack/plugins/cases/public/containers/configure/api.ts +++ b/x-pack/plugins/cases/public/containers/configure/api.ts @@ -8,9 +8,13 @@ import { isEmpty } from 'lodash/fp'; import { CasesConnectorFeatureId } from '@kbn/actions-plugin/common'; import type { ConfigurationPatchRequest, ConfigurationRequest } from '../../../common/types/api'; -import type { Configuration, Configurations } from '../../../common/types/domain'; +import type { + ActionConnector, + ActionTypeConnector, + Configuration, + Configurations, +} from '../../../common/types/domain'; import { getAllConnectorTypesUrl } from '../../../common/utils/connectors_api'; -import type { ActionConnector, ActionTypeConnector } from '../../../common/api'; import { getCaseConfigurationDetailsUrl } from '../../../common/api'; import { CASE_CONFIGURE_CONNECTORS_URL, CASE_CONFIGURE_URL } from '../../../common/constants'; import { KibanaServices } from '../../common/lib/kibana'; diff --git a/x-pack/plugins/cases/public/containers/configure/mock.ts b/x-pack/plugins/cases/public/containers/configure/mock.ts index 51bdb2117f4de2..b01b6196a78b3f 100644 --- a/x-pack/plugins/cases/public/containers/configure/mock.ts +++ b/x-pack/plugins/cases/public/containers/configure/mock.ts @@ -7,7 +7,7 @@ import type { ConfigurationRequest } from '../../../common/types/api'; import type { Configuration } from '../../../common/types/domain'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import type { CaseConfigure, CaseConnectorMapping } from './types'; diff --git a/x-pack/plugins/cases/public/containers/configure/types.ts b/x-pack/plugins/cases/public/containers/configure/types.ts index ca0a6d14bea919..4c9b7368d5bd06 100644 --- a/x-pack/plugins/cases/public/containers/configure/types.ts +++ b/x-pack/plugins/cases/public/containers/configure/types.ts @@ -5,30 +5,31 @@ * 2.0. */ -import type { ClosureType, ConfigurationAttributes } from '../../../common/types/domain'; -import type { CaseUser } from '../types'; import type { + ClosureType, + ConfigurationAttributes, ActionConnector, ActionTypeConnector, - ActionType, CaseConnector, - CaseField, - ThirdPartyField, -} from '../../../common/api'; + ConnectorMappingTarget, + ConnectorMappingSource, + ConnectorMappingActionType, +} from '../../../common/types/domain'; +import type { CaseUser } from '../types'; export type { ActionConnector, ActionTypeConnector, - ActionType, CaseConnector, - CaseField, + ConnectorMappingActionType, + ConnectorMappingSource, + ConnectorMappingTarget, ClosureType, - ThirdPartyField, }; export interface CaseConnectorMapping { - actionType: ActionType; - source: CaseField; + actionType: ConnectorMappingActionType; + source: ConnectorMappingSource; target: string; } diff --git a/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx b/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx index ddea0187f7948a..8919c829585cf9 100644 --- a/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx +++ b/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx @@ -11,7 +11,7 @@ import type { ReturnUseCaseConfigure, ConnectorConfiguration } from './use_confi import { initialState, useCaseConfigure } from './use_configure'; import { mappings, caseConfigurationCamelCaseResponseMock } from './mock'; import * as api from './api'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { TestProviders } from '../../common/mock'; const mockErrorToast = jest.fn(); diff --git a/x-pack/plugins/cases/public/containers/configure/use_configure.tsx b/x-pack/plugins/cases/public/containers/configure/use_configure.tsx index 53c63eccc6ae52..12168b1b9c5c5e 100644 --- a/x-pack/plugins/cases/public/containers/configure/use_configure.tsx +++ b/x-pack/plugins/cases/public/containers/configure/use_configure.tsx @@ -6,11 +6,11 @@ */ import { useEffect, useCallback, useReducer, useRef } from 'react'; +import { ConnectorTypes } from '../../../common/types/domain'; import { getCaseConfigure, patchCaseConfigure, postCaseConfigure } from './api'; import * as i18n from './translations'; import type { ClosureType, CaseConfigure, CaseConnector, CaseConnectorMapping } from './types'; -import { ConnectorTypes } from '../../../common/api'; import { useToasts } from '../../common/lib/kibana'; import { useCasesContext } from '../../components/cases_context/use_cases_context'; diff --git a/x-pack/plugins/cases/public/containers/mock.ts b/x-pack/plugins/cases/public/containers/mock.ts index c0f219e21c499f..7a50d4e9cd1259 100644 --- a/x-pack/plugins/cases/public/containers/mock.ts +++ b/x-pack/plugins/cases/public/containers/mock.ts @@ -12,8 +12,9 @@ import type { UserAction, UserActions, UserActionType, + CaseConnector, } from '../../common/types/domain'; -import { UserActionActions, UserActionTypes } from '../../common/types/domain'; +import { UserActionActions, UserActionTypes, ConnectorTypes } from '../../common/types/domain'; import type { ActionLicense, CaseUI, CasesStatus, UserActionUI, CommentUI } from './types'; import type { @@ -31,7 +32,6 @@ import type { CasesUI, } from '../../common/ui/types'; import type { - CaseConnector, Case, CasesFindResponse, Cases, @@ -41,7 +41,6 @@ import type { import { CaseStatuses, CommentType, - ConnectorTypes, CaseSeverity, ExternalReferenceStorageType, } from '../../common/api'; diff --git a/x-pack/plugins/cases/public/containers/use_get_action_license.tsx b/x-pack/plugins/cases/public/containers/use_get_action_license.tsx index 0e76aeac93ae0a..e61f03e1a1493b 100644 --- a/x-pack/plugins/cases/public/containers/use_get_action_license.tsx +++ b/x-pack/plugins/cases/public/containers/use_get_action_license.tsx @@ -9,7 +9,7 @@ import { useQuery } from '@tanstack/react-query'; import { useToasts } from '../common/lib/kibana'; import { getActionLicense } from './api'; import * as i18n from './translations'; -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import { casesQueriesKeys } from './constants'; import type { ServerError } from '../types'; diff --git a/x-pack/plugins/cases/public/containers/use_post_case.test.tsx b/x-pack/plugins/cases/public/containers/use_post_case.test.tsx index 08bf45af63bebe..58a878b32e5784 100644 --- a/x-pack/plugins/cases/public/containers/use_post_case.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_post_case.test.tsx @@ -7,7 +7,7 @@ import { renderHook, act } from '@testing-library/react-hooks'; import * as api from './api'; -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../common/constants'; import { useToasts } from '../common/lib/kibana'; import type { AppMockRenderer } from '../common/mock'; diff --git a/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx b/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx index 6b7c1b6ac6064a..1d802b3737c961 100644 --- a/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx @@ -10,8 +10,8 @@ import { useToasts } from '../common/lib/kibana'; import { usePostPushToService } from './use_post_push_to_service'; import { pushedCase } from './mock'; import * as api from './api'; -import type { CaseConnector } from '../../common/api'; -import { ConnectorTypes } from '../../common/api'; +import type { CaseConnector } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; import { createAppMockRenderer } from '../common/mock'; import type { AppMockRenderer } from '../common/mock'; import { casesQueriesKeys } from './constants'; diff --git a/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx b/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx index fd65324aa79dd2..3441bb4926daae 100644 --- a/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx +++ b/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx @@ -6,8 +6,8 @@ */ import { useMutation } from '@tanstack/react-query'; -import type { CaseConnector } from '../../common/api'; +import type { CaseConnector } from '../../common/types/domain'; import { pushCase } from './api'; import * as i18n from './translations'; import { useCasesToast } from '../common/use_cases_toast'; diff --git a/x-pack/plugins/cases/server/client/cases/create.test.ts b/x-pack/plugins/cases/server/client/cases/create.test.ts index 7c57f85336ea9a..650d98d5a8fcf2 100644 --- a/x-pack/plugins/cases/server/client/cases/create.test.ts +++ b/x-pack/plugins/cases/server/client/cases/create.test.ts @@ -12,7 +12,8 @@ import { MAX_TITLE_LENGTH, } from '../../../common/constants'; import { SECURITY_SOLUTION_OWNER } from '../../../common'; -import { CaseSeverity, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { mockCases } from '../../mocks'; import { createCasesClientMockArgs } from '../mocks'; import { create } from './create'; diff --git a/x-pack/plugins/cases/server/client/cases/mock.ts b/x-pack/plugins/cases/server/client/cases/mock.ts index 2fa2b0bcbe0c18..bee726524061a3 100644 --- a/x-pack/plugins/cases/server/client/cases/mock.ts +++ b/x-pack/plugins/cases/server/client/cases/mock.ts @@ -6,9 +6,9 @@ */ import type { CaseUserActionsDeprecatedResponse } from '../../../common/types/api'; -import { UserActionActions } from '../../../common/types/domain'; +import { ConnectorTypes, UserActionActions } from '../../../common/types/domain'; import type { Comment, CommentResponseAlertsType } from '../../../common/api'; -import { CommentType, ConnectorTypes, ExternalReferenceStorageType } from '../../../common/api'; +import { CommentType, ExternalReferenceStorageType } from '../../../common/api'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; export const updateUser = { diff --git a/x-pack/plugins/cases/server/client/cases/push.ts b/x-pack/plugins/cases/server/client/cases/push.ts index eef26da9553e7a..c8924275d90e37 100644 --- a/x-pack/plugins/cases/server/client/cases/push.ts +++ b/x-pack/plugins/cases/server/client/cases/push.ts @@ -12,10 +12,9 @@ import type { SavedObjectsFindResponse } from '@kbn/core/server'; import type { UserProfile } from '@kbn/security-plugin/common'; import type { SecurityPluginStart } from '@kbn/security-plugin/server'; import { asSavedObjectExecutionSource } from '@kbn/actions-plugin/server'; -import type { ConfigurationAttributes } from '../../../common/types/domain'; +import type { ActionConnector, ConfigurationAttributes } from '../../../common/types/domain'; import { UserActionTypes } from '../../../common/types/domain'; import type { - ActionConnector, Case, ExternalServiceResponse, CommentRequestAlertType, diff --git a/x-pack/plugins/cases/server/client/cases/utils.ts b/x-pack/plugins/cases/server/client/cases/utils.ts index 727c257e2e733a..efc715b9cff24b 100644 --- a/x-pack/plugins/cases/server/client/cases/utils.ts +++ b/x-pack/plugins/cases/server/client/cases/utils.ts @@ -10,21 +10,23 @@ import type { UserProfile } from '@kbn/security-plugin/common'; import type { IBasePath } from '@kbn/core-http-browser'; import type { SecurityPluginStart } from '@kbn/security-plugin/server'; import type { UserProfileWithAvatar } from '@kbn/user-profile-components'; +import type { + ActionConnector, + ConnectorMappingSource, + ConnectorMappings, + ConnectorMappingTarget, +} from '../../../common/types/domain'; import { UserActionTypes } from '../../../common/types/domain'; import type { CaseUserActionsDeprecatedResponse } from '../../../common/types/api'; import { CASE_VIEW_PAGE_TABS } from '../../../common/types'; import { isPushedUserAction } from '../../../common/utils/user_actions'; import type { - ActionConnector, CaseFullExternalService, Case, Comment, User, CaseAttributes, CaseAssignees, - CaseField, - ThirdPartyField, - ConnectorMappings, } from '../../../common/api'; import { CommentType, CaseStatuses } from '../../../common/api'; import type { CasesClientGetAlertsResponse } from '../alerts/types'; @@ -211,13 +213,13 @@ export const createIncident = async ({ }; export const mapCaseFieldsToExternalSystemFields = ( - caseFields: Record, unknown>, + caseFields: Record, unknown>, mapping: ConnectorMappings -): Record => { - const mappedCaseFields: Record = {}; +): Record => { + const mappedCaseFields: Record = {}; for (const caseFieldKey of Object.keys(caseFields) as Array< - Exclude + Exclude >) { const mapDefinition = mapping.find( (mappingEntry) => mappingEntry.source === caseFieldKey && mappingEntry.target !== 'not_mapped' diff --git a/x-pack/plugins/cases/server/client/configure/client.ts b/x-pack/plugins/cases/server/client/configure/client.ts index bc232214973715..94a51256467e63 100644 --- a/x-pack/plugins/cases/server/client/configure/client.ts +++ b/x-pack/plugins/cases/server/client/configure/client.ts @@ -17,19 +17,21 @@ import type { Configuration, ConfigurationAttributes, Configurations, + ConnectorMappings, } from '../../../common/types/domain'; import type { ConfigurationPatchRequest, ConfigurationRequest, + ConnectorMappingResponse, GetConfigurationFindRequest, } from '../../../common/types/api'; import { ConfigurationPatchRequestRt, ConfigurationRequestRt, GetConfigurationFindRequestRt, + FindActionConnectorResponseRt, } from '../../../common/types/api'; -import type { ConnectorMappings, ConnectorMappingResponse } from '../../../common/api'; -import { FindActionConnectorResponseRt, decodeWithExcessOrThrow } from '../../../common/api'; +import { decodeWithExcessOrThrow } from '../../../common/api'; import { MAX_CONCURRENT_SEARCHES, MAX_SUPPORTED_CONNECTORS_RETURNED, diff --git a/x-pack/plugins/cases/server/client/configure/create_mappings.ts b/x-pack/plugins/cases/server/client/configure/create_mappings.ts index db8390751d3d70..82be0cfa1c3610 100644 --- a/x-pack/plugins/cases/server/client/configure/create_mappings.ts +++ b/x-pack/plugins/cases/server/client/configure/create_mappings.ts @@ -6,8 +6,9 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { ConnectorMappingResponse } from '../../../common/api'; -import { decodeOrThrow, ConnectorMappingResponseRt } from '../../../common/api'; +import type { ConnectorMappingResponse } from '../../../common/types/api'; +import { ConnectorMappingResponseRt } from '../../../common/types/api'; +import { decodeOrThrow } from '../../../common/api'; import { createCaseError } from '../../common/error'; import type { CasesClientArgs } from '..'; import type { CreateMappingsArgs } from './types'; diff --git a/x-pack/plugins/cases/server/client/configure/get_mappings.ts b/x-pack/plugins/cases/server/client/configure/get_mappings.ts index 5ef7953d86a31a..5dd4380403bf50 100644 --- a/x-pack/plugins/cases/server/client/configure/get_mappings.ts +++ b/x-pack/plugins/cases/server/client/configure/get_mappings.ts @@ -6,8 +6,9 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { ConnectorMappingResponse } from '../../../common/api'; -import { decodeOrThrow, ConnectorMappingResponseRt } from '../../../common/api'; +import type { ConnectorMappingResponse } from '../../../common/types/api'; +import { ConnectorMappingResponseRt } from '../../../common/types/api'; +import { decodeOrThrow } from '../../../common/api'; import { createCaseError } from '../../common/error'; import type { CasesClientArgs } from '..'; import type { MappingsArgs } from './types'; diff --git a/x-pack/plugins/cases/server/client/configure/types.ts b/x-pack/plugins/cases/server/client/configure/types.ts index 4885ae0720ead2..12e31a8a6687c9 100644 --- a/x-pack/plugins/cases/server/client/configure/types.ts +++ b/x-pack/plugins/cases/server/client/configure/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { CaseConnector } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; import type { IndexRefresh } from '../../services/types'; export interface MappingsArgs { diff --git a/x-pack/plugins/cases/server/client/configure/update_mappings.ts b/x-pack/plugins/cases/server/client/configure/update_mappings.ts index d1b300c99a908d..ac9b609a9f291b 100644 --- a/x-pack/plugins/cases/server/client/configure/update_mappings.ts +++ b/x-pack/plugins/cases/server/client/configure/update_mappings.ts @@ -6,8 +6,9 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { ConnectorMappingResponse } from '../../../common/api'; -import { ConnectorMappingResponseRt, decodeOrThrow } from '../../../common/api'; +import type { ConnectorMappingResponse } from '../../../common/types/api'; +import { ConnectorMappingResponseRt } from '../../../common/types/api'; +import { decodeOrThrow } from '../../../common/api'; import { createCaseError } from '../../common/error'; import type { CasesClientArgs } from '..'; import type { UpdateMappingsArgs } from './types'; diff --git a/x-pack/plugins/cases/server/client/user_actions/client.ts b/x-pack/plugins/cases/server/client/user_actions/client.ts index b4601da9066916..0f3c26545ce9f0 100644 --- a/x-pack/plugins/cases/server/client/user_actions/client.ts +++ b/x-pack/plugins/cases/server/client/user_actions/client.ts @@ -8,9 +8,10 @@ import type { CaseUserActionsDeprecatedResponse, CaseUserActionStatsResponse, + GetCaseConnectorsResponse, UserActionFindResponse, } from '../../../common/types/api'; -import type { GetCaseConnectorsResponse, GetCaseUsersResponse } from '../../../common/api'; +import type { GetCaseUsersResponse } from '../../../common/api'; import type { CasesClientArgs } from '../types'; import { get } from './get'; import { getConnectors } from './connectors'; diff --git a/x-pack/plugins/cases/server/client/user_actions/connectors.ts b/x-pack/plugins/cases/server/client/user_actions/connectors.ts index fc00095b1de7ab..f1716bc4ca396d 100644 --- a/x-pack/plugins/cases/server/client/user_actions/connectors.ts +++ b/x-pack/plugins/cases/server/client/user_actions/connectors.ts @@ -11,12 +11,12 @@ import type { PublicMethodsOf } from '@kbn/utility-types'; import type { ActionResult, ActionsClient } from '@kbn/actions-plugin/server'; import type { SavedObject } from '@kbn/core-saved-objects-common/src/server_types'; import type { - GetCaseConnectorsResponse, - CaseConnector, - CaseExternalServiceBasic, GetCaseConnectorsPushDetails, -} from '../../../common/api'; -import { decodeOrThrow, GetCaseConnectorsResponseRt } from '../../../common/api'; + GetCaseConnectorsResponse, +} from '../../../common/types/api'; +import { GetCaseConnectorsResponseRt } from '../../../common/types/api'; +import type { CaseExternalServiceBasic } from '../../../common/api'; +import { decodeOrThrow } from '../../../common/api'; import { isConnectorUserAction, isCreateCaseUserAction, @@ -29,7 +29,7 @@ import { Operations } from '../../authorization'; import type { GetConnectorsRequest } from './types'; import type { CaseConnectorActivity } from '../../services/user_actions/types'; import type { CaseUserActionService } from '../../services'; -import type { UserActionAttributes } from '../../../common/types/domain'; +import type { CaseConnector, UserActionAttributes } from '../../../common/types/domain'; export const getConnectors = async ( { caseId }: GetConnectorsRequest, diff --git a/x-pack/plugins/cases/server/common/types/connector_mappings.ts b/x-pack/plugins/cases/server/common/types/connector_mappings.ts index 81e413782152eb..bb6590bd52ec6f 100644 --- a/x-pack/plugins/cases/server/common/types/connector_mappings.ts +++ b/x-pack/plugins/cases/server/common/types/connector_mappings.ts @@ -7,8 +7,8 @@ import * as rt from 'io-ts'; import type { SavedObject } from '@kbn/core/server'; -import type { ConnectorMappingsAttributes } from '../../../common/api'; -import { ConnectorMappingsAttributesRt } from '../../../common/api'; +import type { ConnectorMappingsAttributes } from '../../../common/types/domain'; +import { ConnectorMappingsAttributesRt } from '../../../common/types/domain'; export interface ConnectorMappingsPersistedAttributes { mappings: Array<{ diff --git a/x-pack/plugins/cases/server/common/utils.test.ts b/x-pack/plugins/cases/server/common/utils.test.ts index b2c40f1f611b7c..1c42d75be05d10 100644 --- a/x-pack/plugins/cases/server/common/utils.test.ts +++ b/x-pack/plugins/cases/server/common/utils.test.ts @@ -9,13 +9,12 @@ import type { SavedObject, SavedObjectsFindResponse } from '@kbn/core/server'; import { makeLensEmbeddableFactory } from '@kbn/lens-plugin/server/embeddable/make_lens_embeddable_factory'; import { OWNER_INFO, SECURITY_SOLUTION_OWNER } from '../../common/constants'; import type { - CaseConnector, Case, CommentAttributes, CommentRequest, CommentRequestUserType, } from '../../common/api'; -import { CaseSeverity, CommentType, ConnectorTypes } from '../../common/api'; +import { CaseSeverity, CommentType } from '../../common/api'; import { flattenCaseSavedObject, transformNewComment, @@ -39,6 +38,8 @@ import { newCase } from '../routes/api/__mocks__/request_responses'; import { CASE_VIEW_PAGE_TABS } from '../../common/types'; import { mockCases, mockCaseComments } from '../mocks'; import { createAlertAttachment, createUserAttachment } from '../services/attachments/test_utils'; +import type { CaseConnector } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; interface CommentReference { ids: string[]; diff --git a/x-pack/plugins/cases/server/common/utils.ts b/x-pack/plugins/cases/server/common/utils.ts index 7b8164133f5a3e..78a4ffeb7593ff 100644 --- a/x-pack/plugins/cases/server/common/utils.ts +++ b/x-pack/plugins/cases/server/common/utils.ts @@ -15,6 +15,7 @@ import type { import { flatMap, uniqWith, xorWith } from 'lodash'; import type { LensServerPluginSetup } from '@kbn/lens-plugin/server'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/common'; +import { ConnectorTypes } from '../../common/types/domain'; import { isValidOwner } from '../../common/utils/owner'; import { CASE_VIEW_COMMENT_PATH, @@ -43,7 +44,6 @@ import { CaseSeverity, CaseStatuses, CommentType, - ConnectorTypes, ExternalReferenceSORt, FileAttachmentMetadataRt, } from '../../common/api'; diff --git a/x-pack/plugins/cases/server/connectors/factory.ts b/x-pack/plugins/cases/server/connectors/factory.ts index 2f2287e288c54d..8cded028be2640 100644 --- a/x-pack/plugins/cases/server/connectors/factory.ts +++ b/x-pack/plugins/cases/server/connectors/factory.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import type { ICasesConnector, CasesConnectorsMap } from './types'; import { getCaseConnector as getJiraCaseConnector } from './jira'; import { getCaseConnector as getResilientCaseConnector } from './resilient'; diff --git a/x-pack/plugins/cases/server/connectors/jira/format.ts b/x-pack/plugins/cases/server/connectors/jira/format.ts index 47584b4ec2bba3..abcc57b93d4972 100644 --- a/x-pack/plugins/cases/server/connectors/jira/format.ts +++ b/x-pack/plugins/cases/server/connectors/jira/format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorJiraTypeFields } from '../../../common/api'; +import type { ConnectorJiraTypeFields } from '../../../common/types/domain'; import type { Format } from './types'; export const format: Format = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/jira/types.ts b/x-pack/plugins/cases/server/connectors/jira/types.ts index 95e9cf3059f14d..b7d5407ca76cda 100644 --- a/x-pack/plugins/cases/server/connectors/jira/types.ts +++ b/x-pack/plugins/cases/server/connectors/jira/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { JiraFieldsType } from '../../../common/api'; +import type { JiraFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; interface ExternalServiceFormatterParams extends JiraFieldsType { diff --git a/x-pack/plugins/cases/server/connectors/resilient/format.ts b/x-pack/plugins/cases/server/connectors/resilient/format.ts index 5cbec6b89dc231..c3bbf302455c93 100644 --- a/x-pack/plugins/cases/server/connectors/resilient/format.ts +++ b/x-pack/plugins/cases/server/connectors/resilient/format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorResilientTypeFields } from '../../../common/api'; +import type { ConnectorResilientTypeFields } from '../../../common/types/domain'; import type { Format } from './types'; export const format: Format = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/resilient/types.ts b/x-pack/plugins/cases/server/connectors/resilient/types.ts index d3b64f8e139e6b..5300c775d40ca3 100644 --- a/x-pack/plugins/cases/server/connectors/resilient/types.ts +++ b/x-pack/plugins/cases/server/connectors/resilient/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ResilientFieldsType } from '../../../common/api'; +import type { ResilientFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; export type ResilientCaseConnector = ICasesConnector; diff --git a/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts b/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts index cedbf81c714671..2063bd49e1eff6 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorServiceNowITSMTypeFields } from '../../../common/api'; +import type { ConnectorServiceNowITSMTypeFields } from '../../../common/types/domain'; import type { ServiceNowITSMFormat } from './types'; export const format: ServiceNowITSMFormat = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts b/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts index 8b686be473f6ec..810a9a11d0e547 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts @@ -5,7 +5,7 @@ * 2.0. */ import { get } from 'lodash/fp'; -import type { ConnectorServiceNowSIRTypeFields } from '../../../common/api'; +import type { ConnectorServiceNowSIRTypeFields } from '../../../common/types/domain'; import type { ServiceNowSIRFormat, SirFieldKey, AlertFieldMappingAndValues } from './types'; export const format: ServiceNowSIRFormat = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/servicenow/types.ts b/x-pack/plugins/cases/server/connectors/servicenow/types.ts index 90fb336da7bac4..7e0c0330c2dea7 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/types.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ServiceNowITSMFieldsType } from '../../../common/api'; +import type { ServiceNowITSMFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; interface CorrelationValues { diff --git a/x-pack/plugins/cases/server/connectors/swimlane/format.ts b/x-pack/plugins/cases/server/connectors/swimlane/format.ts index ae8d7023f8f863..3863eb9f72bd56 100644 --- a/x-pack/plugins/cases/server/connectors/swimlane/format.ts +++ b/x-pack/plugins/cases/server/connectors/swimlane/format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorSwimlaneTypeFields } from '../../../common/api'; +import type { ConnectorSwimlaneTypeFields } from '../../../common/types/domain'; import type { Format } from './types'; export const format: Format = (theCase) => { diff --git a/x-pack/plugins/cases/server/connectors/swimlane/types.ts b/x-pack/plugins/cases/server/connectors/swimlane/types.ts index 6d5788538fd11f..e30753d4a30170 100644 --- a/x-pack/plugins/cases/server/connectors/swimlane/types.ts +++ b/x-pack/plugins/cases/server/connectors/swimlane/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { SwimlaneFieldsType } from '../../../common/api'; +import type { SwimlaneFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; export type SwimlaneCaseConnector = ICasesConnector; diff --git a/x-pack/plugins/cases/server/connectors/types.ts b/x-pack/plugins/cases/server/connectors/types.ts index ec8837554c4ac8..28fb18787d9d34 100644 --- a/x-pack/plugins/cases/server/connectors/types.ts +++ b/x-pack/plugins/cases/server/connectors/types.ts @@ -6,7 +6,8 @@ */ import type { Logger } from '@kbn/core/server'; -import type { Case, ConnectorMappings } from '../../common/api'; +import type { ConnectorMappings } from '../../common/types/domain'; +import type { Case } from '../../common/api'; import type { CasesClientGetAlertsResponse } from '../client/alerts/types'; import type { CasesClientFactory } from '../client/factory'; import type { RegisterActionType } from '../types'; diff --git a/x-pack/plugins/cases/server/mocks.ts b/x-pack/plugins/cases/server/mocks.ts index ddbd9bfedd7bda..04fd000c4df33e 100644 --- a/x-pack/plugins/cases/server/mocks.ts +++ b/x-pack/plugins/cases/server/mocks.ts @@ -12,15 +12,14 @@ import type { CommentRequestActionsType, CommentRequestAlertType, CommentRequestUserType, - ConnectorMappings, } from '../common/api'; -import { CaseSeverity, CaseStatuses, CommentType, ConnectorTypes } from '../common/api'; +import { CaseSeverity, CaseStatuses, CommentType } from '../common/api'; import { SECURITY_SOLUTION_OWNER } from '../common/constants'; import type { CasesStart } from './types'; import { createCasesClientMock } from './client/mocks'; import type { CaseSavedObjectTransformed } from './common/types/case'; -import type { UserActionAttributes } from '../common/types/domain'; -import { UserActionActions, UserActionTypes } from '../common/types/domain'; +import type { ConnectorMappings, UserActionAttributes } from '../common/types/domain'; +import { UserActionActions, UserActionTypes, ConnectorTypes } from '../common/types/domain'; const lensPersistableState = { attributes: { diff --git a/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts b/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts index 95724981c26fed..f709e9779f4390 100644 --- a/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts +++ b/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts @@ -6,7 +6,7 @@ */ import type { CasePostRequest } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../../common/constants'; export const newCase: CasePostRequest = { diff --git a/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts b/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts index ac48e17461fada..bc5e2d701eb0f9 100644 --- a/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts +++ b/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts @@ -9,6 +9,7 @@ import { schema } from '@kbn/config-schema'; import { INTERNAL_CONNECTORS_URL } from '../../../../common/constants'; import { createCaseError } from '../../../common/error'; import { createCasesRoute } from '../create_cases_route'; +import type { connectorApiV1 } from '../../../../common/types/api'; export const getConnectorsRoute = createCasesRoute({ method: 'get', @@ -24,8 +25,11 @@ export const getConnectorsRoute = createCasesRoute({ const casesClient = await casesContext.getCasesClient(); const caseId = request.params.case_id; + const res: connectorApiV1.GetCaseConnectorsResponse = + await casesClient.userActions.getConnectors({ caseId }); + return response.ok({ - body: await casesClient.userActions.getConnectors({ caseId }), + body: res, }); } catch (error) { throw createCaseError({ diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts index bb6c5f1130bda0..7fb3730a60bef8 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts @@ -5,10 +5,11 @@ * 2.0. */ +import { ConnectorTypes } from '../../../common/types/domain'; import type { SavedObjectSanitizedDoc, SavedObjectUnsanitizedDoc } from '@kbn/core/server'; import type { CaseAttributes, CaseFullExternalService } from '../../../common/api'; -import { CaseSeverity, CaseStatuses, ConnectorTypes, NONE_CONNECTOR_ID } from '../../../common/api'; -import { CASE_SAVED_OBJECT } from '../../../common/constants'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; +import { CASE_SAVED_OBJECT, NONE_CONNECTOR_ID } from '../../../common/constants'; import { CasePersistedSeverity, CasePersistedStatus } from '../../common/types/case'; import { getNoneCaseConnector } from '../../common/utils'; import type { ESCaseConnectorWithId } from '../../services/test_utils'; diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts index 6b78ab04d90ed9..cc8532f6a35bec 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts @@ -9,10 +9,11 @@ import { cloneDeep, unset, flow } from 'lodash'; import type { SavedObjectUnsanitizedDoc, SavedObjectSanitizedDoc } from '@kbn/core/server'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { SanitizedCaseOwner } from '.'; import { addOwnerToSO } from '.'; import type { CaseAttributes } from '../../../common/api'; -import { CaseSeverity, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; import { CONNECTOR_ID_REFERENCE_NAME, diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts index a5285817b26881..224cad922ada39 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts @@ -7,7 +7,7 @@ import type { SavedObjectSanitizedDoc, SavedObjectUnsanitizedDoc } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { CASE_CONFIGURE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { CONNECTOR_ID_REFERENCE_NAME } from '../../common/constants'; import { getNoneCaseConnector } from '../../common/utils'; diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts index b758d7ca0e7d3d..1c6982e64921fe 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts @@ -8,7 +8,7 @@ /* eslint-disable @typescript-eslint/naming-convention */ import type { SavedObjectUnsanitizedDoc, SavedObjectSanitizedDoc } from '@kbn/core/server'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { SanitizedCaseOwner } from '.'; import { addOwnerToSO } from '.'; import { CONNECTOR_ID_REFERENCE_NAME } from '../../common/constants'; diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts index b553d76da7f21c..852aaa75e0b82d 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts @@ -16,12 +16,10 @@ import type { SavedObjectUnsanitizedDoc, } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { CaseAttributes, CaseConnector } from '../../../../common/api'; -import { - CaseConnectorRt, - CaseExternalServiceBasicRt, - NONE_CONNECTOR_ID, -} from '../../../../common/api'; +import type { CaseConnector } from '../../../../common/types/domain'; +import { CaseConnectorRt } from '../../../../common/types/domain'; +import type { CaseAttributes } from '../../../../common/api'; +import { CaseExternalServiceBasicRt } from '../../../../common/api'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, @@ -30,6 +28,7 @@ import { getNoneCaseConnector } from '../../../common/utils'; import type { UserActionVersion800 } from './types'; import { logError } from '../utils'; import { USER_ACTION_OLD_ID_REF_NAME, USER_ACTION_OLD_PUSH_ID_REF_NAME } from './constants'; +import { NONE_CONNECTOR_ID } from '../../../../common/constants'; export function isCreateConnector(action?: string, actionFields?: string[]): boolean { return action === 'create' && actionFields != null && actionFields.includes('connector'); diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts index a22e880bdee850..9755827f890d84 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts @@ -13,7 +13,7 @@ import type { SavedObjectMigrationMap, } from '@kbn/core/server'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { PersistableStateAttachmentTypeRegistry } from '../../../attachment_framework/persistable_state_registry'; import type { SanitizedCaseOwner } from '..'; import { addOwnerToSO } from '..'; diff --git a/x-pack/plugins/cases/server/services/cases/index.test.ts b/x-pack/plugins/cases/server/services/cases/index.test.ts index 43eeb3c46230e0..37fc356a15bf57 100644 --- a/x-pack/plugins/cases/server/services/cases/index.test.ts +++ b/x-pack/plugins/cases/server/services/cases/index.test.ts @@ -14,7 +14,7 @@ */ import { omit, unset } from 'lodash'; -import type { CaseAttributes, CaseConnector, CaseFullExternalService } from '../../../common/api'; +import type { CaseAttributes, CaseFullExternalService } from '../../../common/api'; import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { CASE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { savedObjectsClientMock } from '@kbn/core/server/mocks'; @@ -50,6 +50,7 @@ import { CasePersistedStatus, CaseTransformedAttributesRt, } from '../../common/types/case'; +import type { CaseConnector } from '../../../common/types/domain'; const createUpdateSOResponse = ({ connector, diff --git a/x-pack/plugins/cases/server/services/cases/transform.test.ts b/x-pack/plugins/cases/server/services/cases/transform.test.ts index 6a80d9d0c190c1..7e34e5f584550a 100644 --- a/x-pack/plugins/cases/server/services/cases/transform.test.ts +++ b/x-pack/plugins/cases/server/services/cases/transform.test.ts @@ -19,13 +19,14 @@ import { transformUpdateResponseToExternalModel, } from './transform'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import { CaseSeverity, CaseStatuses, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, } from '../../common/constants'; import { getNoneCaseConnector } from '../../common/utils'; import { CasePersistedSeverity, CasePersistedStatus } from '../../common/types/case'; +import { ConnectorTypes } from '../../../common/types/domain'; describe('case transforms', () => { describe('transformUpdateResponseToExternalModel', () => { diff --git a/x-pack/plugins/cases/server/services/cases/transform.ts b/x-pack/plugins/cases/server/services/cases/transform.ts index b931f57cd4a385..93ba92f8397fa7 100644 --- a/x-pack/plugins/cases/server/services/cases/transform.ts +++ b/x-pack/plugins/cases/server/services/cases/transform.ts @@ -14,6 +14,7 @@ import type { SavedObjectsUpdateResponse, } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, @@ -23,7 +24,7 @@ import { STATUS_EXTERNAL_TO_ESMODEL, } from '../../common/constants'; import type { CaseFullExternalService } from '../../../common/api'; -import { CaseSeverity, CaseStatuses, NONE_CONNECTOR_ID } from '../../../common/api'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { findConnectorIdReference, transformFieldsToESModel, diff --git a/x-pack/plugins/cases/server/services/configure/index.test.ts b/x-pack/plugins/cases/server/services/configure/index.test.ts index ce9c3f68a604fd..8de0815613b2e5 100644 --- a/x-pack/plugins/cases/server/services/configure/index.test.ts +++ b/x-pack/plugins/cases/server/services/configure/index.test.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { CaseConnector } from '../../../common/api'; -import { ConnectorTypes } from '../../../common/api'; +import type { CaseConnector, ConfigurationAttributes } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; import { CASE_CONFIGURE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { savedObjectsClientMock } from '@kbn/core/server/mocks'; import type { @@ -27,7 +27,6 @@ import { createESJiraConnector, createJiraConnector } from '../test_utils'; import type { ConfigurationPersistedAttributes } from '../../common/types/configure'; import { unset } from 'lodash'; import type { ConfigurationPatchRequest } from '../../../common/types/api'; -import type { ConfigurationAttributes } from '../../../common/types/domain'; const basicConfigFields = { closure_type: 'close-by-pushing' as const, diff --git a/x-pack/plugins/cases/server/services/connector_mappings/types.ts b/x-pack/plugins/cases/server/services/connector_mappings/types.ts index 6e2dd45afea146..02c8d2494c6674 100644 --- a/x-pack/plugins/cases/server/services/connector_mappings/types.ts +++ b/x-pack/plugins/cases/server/services/connector_mappings/types.ts @@ -6,8 +6,8 @@ */ import type { SavedObjectReference, SavedObjectsClientContract } from '@kbn/core/server'; +import type { ConnectorMappingsAttributes } from '../../../common/types/domain'; -import type { ConnectorMappingsAttributes } from '../../../common/api'; import type { SavedObjectFindOptionsKueryNode } from '../../common/types'; import type { IndexRefresh } from '../types'; diff --git a/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts b/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts index a435ec25d95691..7c00814b55b2ce 100644 --- a/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts +++ b/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { NONE_CONNECTOR_ID } from '../../common/api'; +import { NONE_CONNECTOR_ID } from '../../common/constants'; import { ConnectorReferenceHandler } from './connector_reference_handler'; describe('ConnectorReferenceHandler', () => { diff --git a/x-pack/plugins/cases/server/services/connector_reference_handler.ts b/x-pack/plugins/cases/server/services/connector_reference_handler.ts index 327dac42b6b70e..e040f3e0e7887b 100644 --- a/x-pack/plugins/cases/server/services/connector_reference_handler.ts +++ b/x-pack/plugins/cases/server/services/connector_reference_handler.ts @@ -6,7 +6,7 @@ */ import type { SavedObjectReference } from '@kbn/core/server'; -import { NONE_CONNECTOR_ID } from '../../common/api'; +import { NONE_CONNECTOR_ID } from '../../common/constants'; interface Reference { soReference?: SavedObjectReference; diff --git a/x-pack/plugins/cases/server/services/test_utils.ts b/x-pack/plugins/cases/server/services/test_utils.ts index f3b0637693ff71..807880dc9a52cd 100644 --- a/x-pack/plugins/cases/server/services/test_utils.ts +++ b/x-pack/plugins/cases/server/services/test_utils.ts @@ -13,15 +13,20 @@ import type { SavedObjectsFindResult, } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; +import type { CaseConnector } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME } from '../common/constants'; import type { CaseAttributes, - CaseConnector, CaseExternalServiceBasic, CaseFullExternalService, } from '../../common/api'; -import { CaseSeverity, CaseStatuses, ConnectorTypes, NONE_CONNECTOR_ID } from '../../common/api'; -import { CASE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../common/constants'; +import { CaseSeverity, CaseStatuses } from '../../common/api'; +import { + CASE_SAVED_OBJECT, + NONE_CONNECTOR_ID, + SECURITY_SOLUTION_OWNER, +} from '../../common/constants'; import { getNoneCaseConnector } from '../common/utils'; import type { ConnectorPersistedFields } from '../common/types/connectors'; import type { CasePersistedAttributes } from '../common/types/case'; diff --git a/x-pack/plugins/cases/server/services/transform.test.ts b/x-pack/plugins/cases/server/services/transform.test.ts index 32bce1cf082310..7b41e2ca47bd13 100644 --- a/x-pack/plugins/cases/server/services/transform.test.ts +++ b/x-pack/plugins/cases/server/services/transform.test.ts @@ -6,7 +6,7 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import { createESJiraConnector, createJiraConnector } from './test_utils'; import { findConnectorIdReference, diff --git a/x-pack/plugins/cases/server/services/transform.ts b/x-pack/plugins/cases/server/services/transform.ts index fe42254af7dcbc..20bdc795be763e 100644 --- a/x-pack/plugins/cases/server/services/transform.ts +++ b/x-pack/plugins/cases/server/services/transform.ts @@ -7,7 +7,7 @@ import type { SavedObjectReference } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { CaseConnector, ConnectorTypeFields } from '../../common/api'; +import type { CaseConnector, ConnectorTypeFields } from '../../common/types/domain'; import { getNoneCaseConnector } from '../common/utils'; import type { ConnectorPersistedFields, ConnectorPersisted } from '../common/types/connectors'; diff --git a/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts b/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts index e44bfb8971533e..337d810691f892 100644 --- a/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts +++ b/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts @@ -7,16 +7,20 @@ import type { SavedObjectReference } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; +import type { CaseConnector } from '../../../common/types/domain'; import { UserActionTypes } from '../../../common/types/domain'; -import { CASE_COMMENT_SAVED_OBJECT, CASE_SAVED_OBJECT } from '../../../common/constants'; +import { + CASE_COMMENT_SAVED_OBJECT, + CASE_SAVED_OBJECT, + NONE_CONNECTOR_ID, +} from '../../../common/constants'; import { CASE_REF_NAME, COMMENT_REF_NAME, CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, } from '../../common/constants'; -import type { CaseConnector, CaseExternalServiceBasic, User } from '../../../common/api'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import type { CaseExternalServiceBasic, User } from '../../../common/api'; import type { BuilderDeps, BuilderParameters, diff --git a/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts b/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts index e7fa7a29719133..896299c29146b4 100644 --- a/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts +++ b/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts @@ -5,9 +5,9 @@ * 2.0. */ -import { UserActionActions, UserActionTypes } from '../../../common/types/domain'; +import { ConnectorTypes, UserActionActions, UserActionTypes } from '../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../common'; -import { CaseSeverity, CaseStatuses, CommentType, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CaseStatuses, CommentType } from '../../../common/api'; import { externalReferenceAttachmentES, externalReferenceAttachmentSO, diff --git a/x-pack/plugins/cases/server/services/user_actions/mocks.ts b/x-pack/plugins/cases/server/services/user_actions/mocks.ts index 60ea2a5f4a6fdf..7d85cc1fbf946f 100644 --- a/x-pack/plugins/cases/server/services/user_actions/mocks.ts +++ b/x-pack/plugins/cases/server/services/user_actions/mocks.ts @@ -7,8 +7,9 @@ import { CASE_SAVED_OBJECT } from '../../../common/constants'; import { SECURITY_SOLUTION_OWNER } from '../../../common'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { CasePostRequest } from '../../../common/api'; -import { CaseSeverity, CaseStatuses, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { createCaseSavedObjectResponse } from '../test_utils'; import { transformSavedObjectToExternalModel } from '../cases/transform'; import { alertComment, comment } from '../../mocks'; diff --git a/x-pack/plugins/cases/server/services/user_actions/transform.ts b/x-pack/plugins/cases/server/services/user_actions/transform.ts index 4000aeb9cc998c..83bb1ca1e38c3d 100644 --- a/x-pack/plugins/cases/server/services/user_actions/transform.ts +++ b/x-pack/plugins/cases/server/services/user_actions/transform.ts @@ -15,8 +15,11 @@ import { isCreateCaseUserAction, isCommentUserAction, } from '../../../common/utils/user_actions'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; -import { CASE_SAVED_OBJECT, CASE_COMMENT_SAVED_OBJECT } from '../../../common/constants'; +import { + CASE_SAVED_OBJECT, + CASE_COMMENT_SAVED_OBJECT, + NONE_CONNECTOR_ID, +} from '../../../common/constants'; import { CASE_REF_NAME, COMMENT_REF_NAME, diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts index fffdd118151125..ed7e70e6e5207c 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts @@ -7,9 +7,9 @@ import type { KbnClient } from '@kbn/test'; import type { Case } from '@kbn/cases-plugin/common'; -import { CASES_URL } from '@kbn/cases-plugin/common'; +import { CASES_URL, ConnectorTypes } from '@kbn/cases-plugin/common'; import type { CasePostRequest } from '@kbn/cases-plugin/common/api'; -import { CaseSeverity, ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { CaseSeverity } from '@kbn/cases-plugin/common/api'; import type { AxiosError } from 'axios'; import { EndpointError } from '../errors'; diff --git a/x-pack/test/cases_api_integration/common/lib/api/configuration.ts b/x-pack/test/cases_api_integration/common/lib/api/configuration.ts index 2d3f7312af4742..b0f21f8dc386fe 100644 --- a/x-pack/test/cases_api_integration/common/lib/api/configuration.ts +++ b/x-pack/test/cases_api_integration/common/lib/api/configuration.ts @@ -5,10 +5,13 @@ * 2.0. */ -import { CaseConnector, ConnectorTypes } from '@kbn/cases-plugin/common/api'; import { CASE_CONFIGURE_URL } from '@kbn/cases-plugin/common/constants'; import { ConfigurationRequest } from '@kbn/cases-plugin/common/types/api'; -import { Configuration } from '@kbn/cases-plugin/common/types/domain'; +import { + CaseConnector, + Configuration, + ConnectorTypes, +} from '@kbn/cases-plugin/common/types/domain'; import type SuperTest from 'supertest'; import { User } from '../authentication/types'; diff --git a/x-pack/test/cases_api_integration/common/lib/api/connectors.ts b/x-pack/test/cases_api_integration/common/lib/api/connectors.ts index 3e5f499c2314ba..77570d5fd9c395 100644 --- a/x-pack/test/cases_api_integration/common/lib/api/connectors.ts +++ b/x-pack/test/cases_api_integration/common/lib/api/connectors.ts @@ -10,18 +10,16 @@ import http from 'http'; import type SuperTest from 'supertest'; import { CASE_CONFIGURE_CONNECTORS_URL } from '@kbn/cases-plugin/common/constants'; -import { - CaseConnector, - ConnectorTypes, - CasePostRequest, - Case, - GetCaseConnectorsResponse, - getCaseConnectorsUrl, -} from '@kbn/cases-plugin/common/api'; +import { CasePostRequest, Case, getCaseConnectorsUrl } from '@kbn/cases-plugin/common/api'; import { ActionResult, FindActionResult } from '@kbn/actions-plugin/server/types'; import { getServiceNowServer } from '@kbn/actions-simulators-plugin/server/plugin'; import { RecordingServiceNowSimulator } from '@kbn/actions-simulators-plugin/server/servicenow_simulation'; -import { Configuration } from '@kbn/cases-plugin/common/types/domain'; +import { + CaseConnector, + Configuration, + ConnectorTypes, +} from '@kbn/cases-plugin/common/types/domain'; +import { GetCaseConnectorsResponse } from '@kbn/cases-plugin/common/types/api'; import { User } from '../authentication/types'; import { superUser } from '../authentication/users'; import { getPostCaseRequest } from '../mock'; diff --git a/x-pack/test/cases_api_integration/common/lib/api/index.ts b/x-pack/test/cases_api_integration/common/lib/api/index.ts index 1a758f2ddbea83..c816d3c570a241 100644 --- a/x-pack/test/cases_api_integration/common/lib/api/index.ts +++ b/x-pack/test/cases_api_integration/common/lib/api/index.ts @@ -34,7 +34,6 @@ import { CasesPatchRequest, CasesStatusResponse, AlertResponse, - ConnectorMappingsAttributes, CasesByAlertId, CaseResolveResponse, SingleCaseMetricsResponse, @@ -46,7 +45,11 @@ import { ActionResult } from '@kbn/actions-plugin/server/types'; import { CasePersistedAttributes } from '@kbn/cases-plugin/server/common/types/case'; import type { SavedObjectsRawDocSource } from '@kbn/core/server'; import type { ConfigurationPersistedAttributes } from '@kbn/cases-plugin/server/common/types/configure'; -import { Configurations, Configuration } from '@kbn/cases-plugin/common/types/domain'; +import { + Configurations, + Configuration, + ConnectorMappingsAttributes, +} from '@kbn/cases-plugin/common/types/domain'; import { ConfigurationPatchRequest } from '@kbn/cases-plugin/common/types/api'; import { User } from '../authentication/types'; import { superUser } from '../authentication/users'; diff --git a/x-pack/test/cases_api_integration/common/lib/mock.ts b/x-pack/test/cases_api_integration/common/lib/mock.ts index bd89e2d1aa663c..ab684f8604157b 100644 --- a/x-pack/test/cases_api_integration/common/lib/mock.ts +++ b/x-pack/test/cases_api_integration/common/lib/mock.ts @@ -10,7 +10,6 @@ import { Case, CasesFindResponse, Comment, - ConnectorTypes, CommentRequestUserType, CommentRequestAlertType, CommentType, @@ -25,6 +24,7 @@ import { FileAttachmentMetadata, } from '@kbn/cases-plugin/common/api'; import { FILE_ATTACHMENT_TYPE } from '@kbn/cases-plugin/common/constants'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FILE_SO_TYPE } from '@kbn/files-plugin/common'; export const defaultUser = { email: null, full_name: null, username: 'elastic' }; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts index ae37c59183078a..2b97db5c36cfd2 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; import { postCaseReq } from '../../../../common/lib/mock'; 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 e97cd1d3d506c4..568cf12c911c7a 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 @@ -9,13 +9,8 @@ import expect from '@kbn/expect'; import { ALERT_WORKFLOW_STATUS } from '@kbn/rule-data-utils'; import { DETECTION_ENGINE_QUERY_SIGNALS_URL } from '@kbn/security-solution-plugin/common/constants'; -import { - CaseSeverity, - Cases, - CaseStatuses, - CommentType, - ConnectorTypes, -} from '@kbn/cases-plugin/common/api'; +import { CaseSeverity, Cases, CaseStatuses, CommentType } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { defaultUser, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts index f36ebc6e8961f0..2bceea9852cfff 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts @@ -8,12 +8,8 @@ import expect from '@kbn/expect'; import { CASES_URL } from '@kbn/cases-plugin/common/constants'; -import { - ConnectorTypes, - ConnectorJiraTypeFields, - CaseStatuses, - CaseSeverity, -} from '@kbn/cases-plugin/common/api'; +import { CaseStatuses, CaseSeverity } from '@kbn/cases-plugin/common/api'; +import { ConnectorJiraTypeFields, ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { getPostCaseRequest, postCaseResp, defaultUser } from '../../../../common/lib/mock'; import { deleteCasesByESQuery, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts index 523b32a2991877..d94ff433550e7d 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts index 9bb99f1968af45..0b152d5cd9d95e 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts index 2717a1968b4e24..19564ade7b02a8 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { getPostCaseRequest } from '../../../../common/lib/mock'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts index ef51555118f043..36d7285e85aae7 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts @@ -6,9 +6,13 @@ */ import expect from '@kbn/expect'; -import { Case, CaseSeverity, CaseStatuses, ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { Case, CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/api'; import { MAX_USER_ACTIONS_PER_PAGE } from '@kbn/cases-plugin/common/constants'; -import { UserActionTypes, CommentUserAction } from '@kbn/cases-plugin/common/types/domain'; +import { + UserActionTypes, + CommentUserAction, + ConnectorTypes, +} from '@kbn/cases-plugin/common/types/domain'; import { globalRead, noKibanaPrivileges, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts index dc6e1a8c15ca66..d668e3f382b64c 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts @@ -13,10 +13,9 @@ import { CaseStatuses, CommentRequestUserType, CommentType, - ConnectorTypes, getCaseUserActionUrl, } from '@kbn/cases-plugin/common/api'; -import { CreateCaseUserAction } from '@kbn/cases-plugin/common/types/domain'; +import { CreateCaseUserAction, ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { postCaseReq, postCommentUserReq, getPostCaseRequest } from '../../../../common/lib/mock'; import { diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts index 6801fa4fe37858..29672ab14d7c36 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts @@ -6,8 +6,9 @@ */ import expect from '@kbn/expect'; -import { Case, CaseSeverity, CaseStatuses, ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { Case, CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { globalRead, obsSec, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts index 608153386ffe54..3aa368c631f653 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts @@ -10,8 +10,9 @@ import http from 'http'; import expect from '@kbn/expect'; -import { CaseConnector, CaseStatuses, CommentType, User } from '@kbn/cases-plugin/common/api'; +import { CaseStatuses, CommentType, User } from '@kbn/cases-plugin/common/api'; import { RecordingServiceNowSimulator } from '@kbn/actions-simulators-plugin/server/servicenow_simulation'; +import { CaseConnector } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts index 16638a4e61ecbe..8b0eaec7da876a 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts index 7fb89ed913e040..afe207240a8710 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts index cfe8d0412ee4d8..66e8b830d0718a 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts index 7e0b617b8f2747..fc753bf1a8a3b6 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts @@ -8,8 +8,8 @@ import http from 'http'; import expect from '@kbn/expect'; -import { CaseSeverity, CaseStatuses, ConnectorTypes } from '@kbn/cases-plugin/common/api'; -import { UserActionTypes } from '@kbn/cases-plugin/common/types/domain'; +import { CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes, UserActionTypes } from '@kbn/cases-plugin/common/types/domain'; import { globalRead, noKibanaPrivileges, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts index b90e6212f63bfc..30437ae90aba32 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts @@ -8,7 +8,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { postCaseReq } from '../../../../common/lib/mock'; diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts b/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts index e4117fa77218ad..e017b39b4d9a5b 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { getPostCaseRequest, nullUser, postCaseResp } from '../../../../common/lib/mock'; import { deleteCasesByESQuery, diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts index 56d4f02d29e57a..b430ab6a99f9d3 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts index 4c08356f6353b4..ddcc5f3d33148f 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts index c40c54f234ab17..4393410688768b 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/functional/services/cases/helpers.ts b/x-pack/test/functional/services/cases/helpers.ts index 6b7e39e8e50d84..2dc0d7863bef0e 100644 --- a/x-pack/test/functional/services/cases/helpers.ts +++ b/x-pack/test/functional/services/cases/helpers.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { CaseConnector, CasePostRequest } from '@kbn/cases-plugin/common/api'; +import { CasePostRequest } from '@kbn/cases-plugin/common/api'; +import { CaseConnector } from '@kbn/cases-plugin/common/types/domain'; import { v4 as uuidv4 } from 'uuid'; export function generateRandomCaseWithoutConnector(): CasePostRequest {