diff --git a/common/constants.ts b/common/constants.ts new file mode 100644 index 00000000..f9bb6cd4 --- /dev/null +++ b/common/constants.ts @@ -0,0 +1,23 @@ +export const BACKEND_CHANNEL_TYPE = Object.freeze({ + SLACK: 'slack', + EMAIL: 'email', + CHIME: 'chime', + MICROSOFT_TEAMS: 'microsoft_teams', + CUSTOM_WEBHOOK: 'webhook', + SNS: 'sns', +}); +export const CHANNEL_TYPE = Object.freeze({ + [BACKEND_CHANNEL_TYPE.SLACK]: 'Slack', + [BACKEND_CHANNEL_TYPE.EMAIL]: 'Email', + [BACKEND_CHANNEL_TYPE.CHIME]: 'Chime', + [BACKEND_CHANNEL_TYPE.MICROSOFT_TEAMS]: 'Microsoft Teams', + [BACKEND_CHANNEL_TYPE.CUSTOM_WEBHOOK]: 'Custom webhook', + [BACKEND_CHANNEL_TYPE.SNS]: 'Amazon SNS', +}) as { + slack: string; + email: string; + chime: string; + microsoft_teams: string; + webhook: string; + sns: string; +}; diff --git a/models/interfaces.ts b/models/interfaces.ts index dbe196f1..0860f46e 100644 --- a/models/interfaces.ts +++ b/models/interfaces.ts @@ -6,9 +6,11 @@ import { Direction } from '@elastic/eui'; import { WebhookMethodType } from '../public/pages/Channels/types'; import { - CHANNEL_TYPE, ENCRYPTION_TYPE, } from '../public/utils/constants'; +import { + CHANNEL_TYPE, +} from '../common/constants'; export interface ChannelStatus { config_id: string; diff --git a/public/pages/Channels/Channels.tsx b/public/pages/Channels/Channels.tsx index 1e3ca6bd..ff679122 100644 --- a/public/pages/Channels/Channels.tsx +++ b/public/pages/Channels/Channels.tsx @@ -28,9 +28,11 @@ import { CoreServicesContext } from '../../components/coreServices'; import { NotificationService } from '../../services'; import { BREADCRUMBS, - CHANNEL_TYPE, ROUTES, } from '../../utils/constants'; +import { + CHANNEL_TYPE, +} from '../../../common/constants'; import { getErrorMessage } from '../../utils/helpers'; import { DEFAULT_PAGE_SIZE_OPTIONS } from '../Notifications/utils/constants'; import { ChannelActions } from './components/ChannelActions'; diff --git a/public/pages/Channels/components/ChannelControls.tsx b/public/pages/Channels/components/ChannelControls.tsx index 7537ca55..1405a3a6 100644 --- a/public/pages/Channels/components/ChannelControls.tsx +++ b/public/pages/Channels/components/ChannelControls.tsx @@ -16,7 +16,7 @@ import _ from 'lodash'; import React, { useContext, useEffect, useState } from 'react'; import { CHANNEL_TYPE, -} from '../../../../public/utils/constants'; +} from '../../../../common/constants'; import { MainContext } from '../../Main/Main'; import { ChannelFiltersType } from '../types'; diff --git a/public/pages/Channels/components/details/ChannelSettingsDetails.tsx b/public/pages/Channels/components/details/ChannelSettingsDetails.tsx index 2444b116..69df4f57 100644 --- a/public/pages/Channels/components/details/ChannelSettingsDetails.tsx +++ b/public/pages/Channels/components/details/ChannelSettingsDetails.tsx @@ -7,7 +7,7 @@ import { EuiLink } from '@elastic/eui'; import React from 'react'; import { ChannelItemType } from '../../../../../models/interfaces'; import { ModalConsumer } from '../../../../components/Modal'; -import { BACKEND_CHANNEL_TYPE, CHANNEL_TYPE } from '../../../../utils/constants'; +import { BACKEND_CHANNEL_TYPE, CHANNEL_TYPE } from '../../../../../common/constants'; import { deconstructEmailObject, deconstructWebhookObject, diff --git a/public/pages/CreateChannel/CreateChannel.tsx b/public/pages/CreateChannel/CreateChannel.tsx index e2686c89..69595a8d 100644 --- a/public/pages/CreateChannel/CreateChannel.tsx +++ b/public/pages/CreateChannel/CreateChannel.tsx @@ -25,12 +25,11 @@ import { ContentPanel } from '../../components/ContentPanel'; import { CoreServicesContext } from '../../components/coreServices'; import { ServicesContext } from '../../services'; import { - BACKEND_CHANNEL_TYPE, BREADCRUMBS, - CHANNEL_TYPE, CUSTOM_WEBHOOK_ENDPOINT_TYPE, ROUTES, } from '../../utils/constants'; +import {BACKEND_CHANNEL_TYPE,CHANNEL_TYPE } from '../../../common/constants' import { getErrorMessage } from '../../utils/helpers'; import { HeaderItemType, WebhookHttpType, WebhookMethodType } from '../Channels/types'; import { MainContext } from '../Main/Main'; diff --git a/public/pages/Main/Main.tsx b/public/pages/Main/Main.tsx index e6a8b7cd..6e9b4925 100644 --- a/public/pages/Main/Main.tsx +++ b/public/pages/Main/Main.tsx @@ -11,7 +11,8 @@ import { CoreServicesConsumer } from '../../components/coreServices'; import { ModalProvider, ModalRoot } from '../../components/Modal'; import { BrowserServices } from '../../models/interfaces'; import { ServicesConsumer, ServicesContext } from '../../services/services'; -import { CHANNEL_TYPE, ROUTES } from '../../utils/constants'; +import { ROUTES } from '../../utils/constants'; +import { CHANNEL_TYPE } from '../../../common/constants'; import { Channels } from '../Channels/Channels'; import { ChannelDetails } from '../Channels/components/details/ChannelDetails'; import { CreateChannel } from '../CreateChannel/CreateChannel'; @@ -78,7 +79,7 @@ export default class Main extends Component { 'ses_account', 'email_group', ], - tooltipSupport: serverFeatures.tooltipSupport, + tooltipSupport: false, }); } } diff --git a/public/services/NotificationService.ts b/public/services/NotificationService.ts index 5acd1dba..02a679ea 100644 --- a/public/services/NotificationService.ts +++ b/public/services/NotificationService.ts @@ -13,6 +13,7 @@ import { SenderType, SESSenderItemType, } from '../../models/interfaces'; +import { CHANNEL_TYPE } from '../../common/constants'; import { configListToChannels, configListToRecipientGroups, diff --git a/public/utils/constants.ts b/public/utils/constants.ts index 81691978..c130f423 100644 --- a/public/utils/constants.ts +++ b/public/utils/constants.ts @@ -48,31 +48,6 @@ export const BREADCRUMBS = Object.freeze({ EDIT_RECIPIENT_GROUP: { text: 'Edit recipient group' }, }); -export const BACKEND_CHANNEL_TYPE = Object.freeze({ - SLACK: 'slack', - EMAIL: 'email', - CHIME: 'chime', - MICROSOFT_TEAMS: 'microsoft_teams', - CUSTOM_WEBHOOK: 'webhook', - SNS: 'sns', -}); - -export const CHANNEL_TYPE = Object.freeze({ - [BACKEND_CHANNEL_TYPE.SLACK]: 'Slack', - [BACKEND_CHANNEL_TYPE.EMAIL]: 'Email', - [BACKEND_CHANNEL_TYPE.CHIME]: 'Chime', - [BACKEND_CHANNEL_TYPE.MICROSOFT_TEAMS]: 'Microsoft Teams', - [BACKEND_CHANNEL_TYPE.CUSTOM_WEBHOOK]: 'Custom webhook', - [BACKEND_CHANNEL_TYPE.SNS]: 'Amazon SNS', -}) as { - slack: string; - email: string; - chime: string; - microsoft_teams: string; - webhook: string; - sns: string; -}; - export const ENCRYPTION_TYPE = Object.freeze({ ssl: 'SSL/TLS', start_tls: 'STARTTLS', diff --git a/server/routes/configRoutes.ts b/server/routes/configRoutes.ts index 8da26cf2..fc1caf1e 100644 --- a/server/routes/configRoutes.ts +++ b/server/routes/configRoutes.ts @@ -11,7 +11,7 @@ import { import { NODE_API } from '../../common'; import { joinRequestParams } from '../utils/helper'; import _ from 'lodash'; -import { CHANNEL_TYPE } from '../../public/utils/constants'; +import { CHANNEL_TYPE } from '../../common/constants'; export function configRoutes(router: IRouter) { router.get( @@ -216,7 +216,7 @@ export function configRoutes(router: IRouter) { keyof typeof CHANNEL_TYPE >; const channelTypes: Partial = {}; - + for (let channel of config_type_list) { if (CHANNEL_TYPE[channel]) { channelTypes[channel] = CHANNEL_TYPE[channel] diff --git a/test/mocks/serviceMock.ts b/test/mocks/serviceMock.ts index 24972dc1..21b937e6 100644 --- a/test/mocks/serviceMock.ts +++ b/test/mocks/serviceMock.ts @@ -6,7 +6,7 @@ import { CoreStart } from 'opensearch-dashboards/public'; import { MainState } from '../../public/pages/Main/Main'; import { NotificationService } from '../../public/services'; -import { CHANNEL_TYPE } from '../../public/utils/constants'; +import { CHANNEL_TYPE } from '../../common/constants'; import httpClientMock from './httpClientMock'; const coreServicesMock = ({