@@ -9,29 +9,20 @@ import { ConnectorTypes } from '../../common/api';
99import { getCaseConnector as getJiraCaseConnector } from './jira' ;
1010import { getCaseConnector as getResilientCaseConnector } from './resilient' ;
1111import { getServiceNowITSMCaseConnector , getServiceNowSIRCaseConnector } from './servicenow' ;
12- import {
13- CasesConnectorsMap ,
14- CasesConnectorTypes ,
15- ICasesConnector ,
16- ICasesConnectorFactory ,
17- } from './types' ;
12+ import { ICasesConnector , CasesConnectorsMap } from './types' ;
1813
19- export class CasesConnectorsFactory implements ICasesConnectorFactory {
20- private readonly casesConnectorsMap : Map < CasesConnectorTypes , ICasesConnector < { } > > ;
14+ const mapping : Record < ConnectorTypes , ICasesConnector | null > = {
15+ [ ConnectorTypes . jira ] : getJiraCaseConnector ( ) ,
16+ [ ConnectorTypes . serviceNowITSM ] : getServiceNowITSMCaseConnector ( ) ,
17+ [ ConnectorTypes . serviceNowSIR ] : getServiceNowSIRCaseConnector ( ) ,
18+ [ ConnectorTypes . resilient ] : getResilientCaseConnector ( ) ,
19+ [ ConnectorTypes . none ] : null ,
20+ } ;
2121
22- constructor ( ) {
23- this . casesConnectorsMap = new Map < CasesConnectorTypes , ICasesConnector > ( ) ;
24- this . initMapping ( ) ;
25- }
22+ const isConnectorTypeSupported = ( type : string ) : type is ConnectorTypes =>
23+ Object . values ( ConnectorTypes ) . includes ( type as ConnectorTypes ) ;
2624
27- private initMapping ( ) {
28- this . casesConnectorsMap . set ( ConnectorTypes . jira , getJiraCaseConnector ( ) ) ;
29- this . casesConnectorsMap . set ( ConnectorTypes . serviceNowITSM , getServiceNowITSMCaseConnector ( ) ) ;
30- this . casesConnectorsMap . set ( ConnectorTypes . serviceNowSIR , getServiceNowSIRCaseConnector ( ) ) ;
31- this . casesConnectorsMap . set ( ConnectorTypes . resilient , getResilientCaseConnector ( ) ) ;
32- }
33-
34- public getCasesConnectors = ( ) : CasesConnectorsMap => {
35- return this . casesConnectorsMap ;
36- } ;
37- }
25+ export const casesConnectors : CasesConnectorsMap = {
26+ get : ( type : string ) : ICasesConnector | undefined | null =>
27+ isConnectorTypeSupported ( type ) ? mapping [ type ] : undefined ,
28+ } ;
0 commit comments