@mbc-cqrs-serverless/core 0.1.44-beta.0 → 0.1.45-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,8 @@
1
+ import { ConfigService } from '@nestjs/config';
1
2
  import { DataSyncCommandSfnEvent, StepFunctionStateInput } from '../command-events/data-sync.sfn.event';
2
3
  import { S3Service } from '../data-store';
3
4
  import { CommandModuleOptions } from '../interfaces';
5
+ import { SnsService } from '../queue';
4
6
  import { CommandService } from './command.service';
5
7
  import { DataService } from './data.service';
6
8
  import { HistoryService } from './history.service';
@@ -10,8 +12,11 @@ export declare class CommandEventHandler {
10
12
  private readonly dataService;
11
13
  private readonly historyService;
12
14
  private readonly s3Service;
15
+ private readonly snsService;
16
+ private readonly config;
13
17
  private readonly logger;
14
- constructor(options: CommandModuleOptions, commandService: CommandService, dataService: DataService, historyService: HistoryService, s3Service: S3Service);
18
+ private readonly alarmTopicArn;
19
+ constructor(options: CommandModuleOptions, commandService: CommandService, dataService: DataService, historyService: HistoryService, s3Service: S3Service, snsService: SnsService, config: ConfigService);
15
20
  execute(event: DataSyncCommandSfnEvent): Promise<StepFunctionStateInput | StepFunctionStateInput[]>;
16
21
  protected handleStepState(event: DataSyncCommandSfnEvent): Promise<StepFunctionStateInput | StepFunctionStateInput[]>;
17
22
  protected waitConfirmToken(event: DataSyncCommandSfnEvent): Promise<StepFunctionStateInput>;
@@ -21,4 +26,5 @@ export declare class CommandEventHandler {
21
26
  protected transformData(event: DataSyncCommandSfnEvent): Promise<StepFunctionStateInput[]>;
22
27
  protected syncData(event: DataSyncCommandSfnEvent): Promise<StepFunctionStateInput>;
23
28
  protected checkNextToken(event: DataSyncCommandSfnEvent): Promise<StepFunctionStateInput>;
29
+ protected publishAlarm(event: DataSyncCommandSfnEvent, errorDetails: any): Promise<void>;
24
30
  }
@@ -15,22 +15,27 @@ var CommandEventHandler_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.CommandEventHandler = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
+ const config_1 = require("@nestjs/config");
18
19
  const sfn_name_enum_1 = require("../command-events/sfn-name.enum");
19
20
  const data_store_1 = require("../data-store");
20
21
  const key_1 = require("../helpers/key");
22
+ const queue_1 = require("../queue");
21
23
  const command_module_definition_1 = require("./command.module-definition");
22
24
  const command_service_1 = require("./command.service");
23
25
  const data_service_1 = require("./data.service");
24
26
  const status_enum_1 = require("./enums/status.enum");
25
27
  const history_service_1 = require("./history.service");
26
28
  let CommandEventHandler = CommandEventHandler_1 = class CommandEventHandler {
27
- constructor(options, commandService, dataService, historyService, s3Service) {
29
+ constructor(options, commandService, dataService, historyService, s3Service, snsService, config) {
28
30
  this.options = options;
29
31
  this.commandService = commandService;
30
32
  this.dataService = dataService;
31
33
  this.historyService = historyService;
32
34
  this.s3Service = s3Service;
35
+ this.snsService = snsService;
36
+ this.config = config;
33
37
  this.logger = new common_1.Logger(`${CommandEventHandler_1.name}:${this.options.tableName}`);
38
+ this.alarmTopicArn = this.config.get('SNS_ALARM_TOPIC_ARN');
34
39
  }
35
40
  async execute(event) {
36
41
  this.logger.debug('executing::', event);
@@ -42,6 +47,7 @@ let CommandEventHandler = CommandEventHandler_1 = class CommandEventHandler {
42
47
  }
43
48
  catch (error) {
44
49
  await this.commandService.updateStatus(event.commandKey, (0, status_enum_1.getCommandStatus)(event.stepStateName, status_enum_1.CommandStatus.STATUS_FAILED), event.commandRecord.requestId);
50
+ await this.publishAlarm(event, error.stack);
45
51
  throw error;
46
52
  }
47
53
  }
@@ -93,11 +99,13 @@ let CommandEventHandler = CommandEventHandler_1 = class CommandEventHandler {
93
99
  result: 1,
94
100
  };
95
101
  }
96
- return {
102
+ const errorDetails = {
97
103
  result: -1,
98
104
  error: 'version is not match',
99
105
  cause: 'next version must be ' + nextVersion + ' but got ' + new String(1),
100
106
  };
107
+ await this.publishAlarm(event, errorDetails);
108
+ return errorDetails;
101
109
  }
102
110
  async setTtlCommand(event) {
103
111
  this.logger.debug('setTtlCommand:: ', event.commandRecord);
@@ -143,6 +151,23 @@ let CommandEventHandler = CommandEventHandler_1 = class CommandEventHandler {
143
151
  this.logger.debug('checkNextToken:: ', event.commandRecord);
144
152
  return null;
145
153
  }
154
+ async publishAlarm(event, errorDetails) {
155
+ this.logger.debug('event', event);
156
+ const alarm = {
157
+ action: 'sfn-alarm',
158
+ id: `${event.commandKey.pk}#${event.commandKey.sk}`,
159
+ table: this.options.tableName,
160
+ pk: event.commandKey.pk,
161
+ sk: event.commandKey.sk,
162
+ tenantCode: event.commandKey.pk.substring(event.commandKey.pk.indexOf('#') + 1),
163
+ content: {
164
+ errorMessage: errorDetails,
165
+ sfnId: event.source,
166
+ },
167
+ };
168
+ this.logger.error('alarm:::', alarm);
169
+ await this.snsService.publish(alarm, this.alarmTopicArn);
170
+ }
146
171
  };
147
172
  exports.CommandEventHandler = CommandEventHandler;
148
173
  exports.CommandEventHandler = CommandEventHandler = CommandEventHandler_1 = __decorate([
@@ -151,6 +176,8 @@ exports.CommandEventHandler = CommandEventHandler = CommandEventHandler_1 = __de
151
176
  __metadata("design:paramtypes", [Object, command_service_1.CommandService,
152
177
  data_service_1.DataService,
153
178
  history_service_1.HistoryService,
154
- data_store_1.S3Service])
179
+ data_store_1.S3Service,
180
+ queue_1.SnsService,
181
+ config_1.ConfigService])
155
182
  ], CommandEventHandler);
156
183
  //# sourceMappingURL=command.event.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.event.handler.js","sourceRoot":"","sources":["../../src/commands/command.event.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.event.handler.js","sourceRoot":"","sources":["../../src/commands/command.event.handler.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ let TtlService = TtlService_1 = class TtlService {
27
27
  }
28
28
  async calculateTtl(type, tenantCode, startDate) {
29
29
  const numberOfDay = await this.getTtlConfiguration(type, tenantCode);
30
- this.logger.log('numberOfDay', numberOfDay);
30
+ this.logger.debug('numberOfDay', numberOfDay);
31
31
  return numberOfDay ? this.calculateUnixTime(numberOfDay, startDate) : null;
32
32
  }
33
33
  async getTtlConfiguration(type, tenantCode) {
@@ -1 +1 @@
1
- {"version":3,"file":"ttl.service.js","sourceRoot":"","sources":["../../src/commands/ttl.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2D;AAE3D,qEAAgE;AAChE,wCAA4C;AAE5C,2EAAkE;AAClE,mCAAmC;AAG5B,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAGrB,YAEmB,OAA6B,EAC7B,eAAgC;QADhC,YAAO,GAAP,OAAO,CAAsB;QAC7B,oBAAe,GAAf,eAAe,CAAiB;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,YAAU,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAAe,EACf,UAAmB,EACnB,SAAgB;QAEhB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACpE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QAC3C,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,IAAe,EACf,UAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAC3D,QAAQ,EACR,iBAAS,CAAC,IAAI,CACf,CAAA;YAED,MAAM,EAAE,GAAG,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAA;YAC/B,MAAM,EAAE,GAAG,IAAA,eAAK,EACd,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAChE,CAAA;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,mBAAmB,EAAE;gBACtE,EAAE;gBACF,EAAE;aACH,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,CAAA,CAAC,kCAAkC;YAEhF,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACjC,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,SAAgB;QAC9C,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC3D,CAAC;QAED,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,SAAS;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEjC,mDAAmD;QACnD,MAAM,MAAM,GAAG,iBAAiB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;QAEtD,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAjEY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,gDAAoB,CAAC,CAAA;6CAEK,kCAAe;GANxC,UAAU,CAiEtB"}
1
+ {"version":3,"file":"ttl.service.js","sourceRoot":"","sources":["../../src/commands/ttl.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2D;AAE3D,qEAAgE;AAChE,wCAA4C;AAE5C,2EAAkE;AAClE,mCAAmC;AAG5B,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAGrB,YAEmB,OAA6B,EAC7B,eAAgC;QADhC,YAAO,GAAP,OAAO,CAAsB;QAC7B,oBAAe,GAAf,eAAe,CAAiB;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,YAAU,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAAe,EACf,UAAmB,EACnB,SAAgB;QAEhB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QAC7C,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,IAAe,EACf,UAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAC3D,QAAQ,EACR,iBAAS,CAAC,IAAI,CACf,CAAA;YAED,MAAM,EAAE,GAAG,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAA;YAC/B,MAAM,EAAE,GAAG,IAAA,eAAK,EACd,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAChE,CAAA;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,mBAAmB,EAAE;gBACtE,EAAE;gBACF,EAAE;aACH,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,CAAA,CAAC,kCAAkC;YAEhF,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACjC,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,SAAgB;QAC9C,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC3D,CAAC;QAED,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,SAAS;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEjC,mDAAmD;QACnD,MAAM,MAAM,GAAG,iBAAiB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;QAEtD,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAjEY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,gDAAoB,CAAC,CAAA;6CAEK,kCAAe;GANxC,UAAU,CAiEtB"}
@@ -9,13 +9,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.QueueModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const sns_service_1 = require("./sns.service");
12
+ const sns_client_factory_1 = require("./sns-client-factory");
12
13
  let QueueModule = class QueueModule {
13
14
  };
14
15
  exports.QueueModule = QueueModule;
15
16
  exports.QueueModule = QueueModule = __decorate([
16
17
  (0, common_1.Global)(),
17
18
  (0, common_1.Module)({
18
- providers: [sns_service_1.SnsService],
19
+ providers: [sns_service_1.SnsService, sns_client_factory_1.SnsClientFactory],
19
20
  exports: [sns_service_1.SnsService],
20
21
  })
21
22
  ], QueueModule);
@@ -1 +1 @@
1
- {"version":3,"file":"queue.module.js","sourceRoot":"","sources":["../../src/queue/queue.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA+C;AAE/C,+CAA0C;AAOnC,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,wBAAU,CAAC;QACvB,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,WAAW,CAAG"}
1
+ {"version":3,"file":"queue.module.js","sourceRoot":"","sources":["../../src/queue/queue.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA+C;AAE/C,+CAA0C;AAC1C,6DAAuD;AAOhD,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,wBAAU,EAAE,qCAAgB,CAAC;QACzC,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,WAAW,CAAG"}
@@ -0,0 +1,8 @@
1
+ import { SNSClient } from '@aws-sdk/client-sns';
2
+ import { ConfigService } from '@nestjs/config';
3
+ export declare class SnsClientFactory {
4
+ private readonly config;
5
+ private clients;
6
+ constructor(config: ConfigService);
7
+ getClient(topicArn: string): SNSClient;
8
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SnsClientFactory = void 0;
13
+ const client_sns_1 = require("@aws-sdk/client-sns");
14
+ const common_1 = require("@nestjs/common");
15
+ const config_1 = require("@nestjs/config");
16
+ let SnsClientFactory = class SnsClientFactory {
17
+ constructor(config) {
18
+ this.config = config;
19
+ this.clients = new Map();
20
+ }
21
+ getClient(topicArn) {
22
+ if (!this.clients.has(topicArn)) {
23
+ const snsClient = new client_sns_1.SNSClient({
24
+ endpoint: this.config.get('SNS_ENDPOINT'),
25
+ region: this.config.get('SNS_REGION'),
26
+ });
27
+ this.clients.set(topicArn, snsClient);
28
+ }
29
+ return this.clients.get(topicArn);
30
+ }
31
+ };
32
+ exports.SnsClientFactory = SnsClientFactory;
33
+ exports.SnsClientFactory = SnsClientFactory = __decorate([
34
+ (0, common_1.Injectable)(),
35
+ __metadata("design:paramtypes", [config_1.ConfigService])
36
+ ], SnsClientFactory);
37
+ //# sourceMappingURL=sns-client-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sns-client-factory.js","sourceRoot":"","sources":["../../src/queue/sns-client-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+C;AAC/C,2CAA2C;AAC3C,2CAA8C;AAGvC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAG3B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAF1C,YAAO,GAAG,IAAI,GAAG,EAAqB,CAAA;IAEO,CAAC;IAEtD,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC;gBAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,cAAc,CAAC;gBACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,YAAY,CAAC;aAC9C,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACF,CAAA;AAfY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAI0B,sBAAa;GAHvC,gBAAgB,CAe5B"}
@@ -1,13 +1,10 @@
1
- import { SNSClient } from '@aws-sdk/client-sns';
2
1
  import { ConfigService } from '@nestjs/config';
3
2
  import { SnsEvent } from './sns.event';
4
- declare const CLIENT_INSTANCE: unique symbol;
3
+ import { SnsClientFactory } from './sns-client-factory';
5
4
  export declare class SnsService {
5
+ private readonly snsClientFactory;
6
6
  private readonly config;
7
- private [CLIENT_INSTANCE];
8
- private topicArn;
9
- constructor(config: ConfigService);
10
- get client(): SNSClient;
11
- publish<T extends SnsEvent>(msg: T): Promise<import("@aws-sdk/client-sns").PublishCommandOutput>;
7
+ private readonly defaultTopicArn;
8
+ constructor(snsClientFactory: SnsClientFactory, config: ConfigService);
9
+ publish<T extends SnsEvent>(msg: T, topicArn?: string): Promise<import("@aws-sdk/client-sns").PublishCommandOutput>;
12
10
  }
13
- export {};
@@ -13,22 +13,21 @@ exports.SnsService = void 0;
13
13
  const client_sns_1 = require("@aws-sdk/client-sns");
14
14
  const common_1 = require("@nestjs/common");
15
15
  const config_1 = require("@nestjs/config");
16
- const CLIENT_INSTANCE = Symbol('sns-client');
16
+ const sns_client_factory_1 = require("./sns-client-factory");
17
17
  let SnsService = class SnsService {
18
- constructor(config) {
18
+ constructor(snsClientFactory, config) {
19
+ this.snsClientFactory = snsClientFactory;
19
20
  this.config = config;
20
- this[CLIENT_INSTANCE] = new client_sns_1.SNSClient({
21
- endpoint: config.get('SNS_ENDPOINT'),
22
- region: config.get('SNS_REGION'),
23
- });
24
- this.topicArn = config.get('SNS_TOPIC_ARN');
21
+ this.defaultTopicArn = this.config.get('SNS_TOPIC_ARN');
25
22
  }
26
- get client() {
27
- return this[CLIENT_INSTANCE];
28
- }
29
- publish(msg) {
30
- return this.client.send(new client_sns_1.PublishCommand({
31
- TopicArn: this.topicArn,
23
+ publish(msg, topicArn) {
24
+ const resolvedTopicArn = topicArn || this.defaultTopicArn;
25
+ if (!resolvedTopicArn) {
26
+ throw new Error('No topic ARN provided or configured as default.');
27
+ }
28
+ const client = this.snsClientFactory.getClient(resolvedTopicArn);
29
+ return client.send(new client_sns_1.PublishCommand({
30
+ TopicArn: resolvedTopicArn,
32
31
  MessageAttributes: {
33
32
  action: {
34
33
  DataType: 'String',
@@ -42,6 +41,7 @@ let SnsService = class SnsService {
42
41
  exports.SnsService = SnsService;
43
42
  exports.SnsService = SnsService = __decorate([
44
43
  (0, common_1.Injectable)(),
45
- __metadata("design:paramtypes", [config_1.ConfigService])
44
+ __metadata("design:paramtypes", [sns_client_factory_1.SnsClientFactory,
45
+ config_1.ConfigService])
46
46
  ], SnsService);
47
47
  //# sourceMappingURL=sns.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sns.service.js","sourceRoot":"","sources":["../../src/queue/sns.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,2CAA2C;AAC3C,2CAA8C;AAI9C,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AAGrC,IAAM,UAAU,GAAhB,MAAM,UAAU;IAIrB,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAChD,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,sBAAS,CAAC;YACpC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAS,cAAc,CAAC;YAC5C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAS,YAAY,CAAC;SACzC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAS,eAAe,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,CAAqB,GAAM;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACrB,IAAI,2BAAc,CAAC;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE;gBACjB,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,GAAG,CAAC,MAAM;iBACxB;aACF;YACD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;CACF,CAAA;AA/BY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAK0B,sBAAa;GAJvC,UAAU,CA+BtB"}
1
+ {"version":3,"file":"sns.service.js","sourceRoot":"","sources":["../../src/queue/sns.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,2CAA2C;AAC3C,2CAA8C;AAG9C,6DAAuD;AAGhD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGrB,YACmB,gBAAkC,EAClC,MAAqB;QADrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAe;QAEtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,eAAe,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,CAAqB,GAAM,EAAE,QAAiB;QACnD,MAAM,gBAAgB,GAAG,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAA;QAEzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAEhE,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,2BAAc,CAAC;YACjB,QAAQ,EAAE,gBAAgB;YAC1B,iBAAiB,EAAE;gBACjB,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,GAAG,CAAC,MAAM;iBACxB;aACF;YACD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;CACF,CAAA;AAhCY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAK0B,qCAAgB;QAC1B,sBAAa;GAL7B,UAAU,CAgCtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/core",
3
- "version": "0.1.44-beta.0",
3
+ "version": "0.1.45-beta.0",
4
4
  "description": "CQRS and event base core",
5
5
  "keywords": [
6
6
  "mbc",
@@ -86,5 +86,5 @@
86
86
  "serverless-step-functions-local": "^0.5.1",
87
87
  "supertest": "^7.0.0"
88
88
  },
89
- "gitHead": "f665caba932043dd90272d60d408203737daa7bd"
89
+ "gitHead": "6dfc72e062a7c97915aca77c3f2438e198785d1f"
90
90
  }