@nauth-toolkit/sms-aws-sns 0.1.11 → 0.1.13

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,4 +1,4 @@
1
- import { SMSProvider } from '@nauth-toolkit/core';
1
+ import { SMSProvider, SMSTemplateEngine, SMSTemplateVariables } from '@nauth-toolkit/core';
2
2
  import { AWSSMSConfig } from './aws-sms-config.interface';
3
3
  export declare class AWSSMSProvider implements SMSProvider {
4
4
  private readonly logger;
@@ -6,8 +6,12 @@ export declare class AWSSMSProvider implements SMSProvider {
6
6
  private readonly config;
7
7
  private SNSClientClass;
8
8
  private PublishCommandClass;
9
+ private templateEngine?;
10
+ private globalVariables;
9
11
  constructor(config: AWSSMSConfig);
10
- sendOTP(phone: string, code: string): Promise<void>;
12
+ setTemplateEngine(engine: SMSTemplateEngine): void;
13
+ setGlobalVariables(variables: SMSTemplateVariables): void;
14
+ sendOTP(phone: string, code: string, templateType?: string, variables?: Record<string, unknown>): Promise<void>;
11
15
  sendVerificationCode(phone: string, code: string): Promise<void>;
12
16
  private sendSMS;
13
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aws-sms.provider.d.ts","sourceRoot":"","sources":["../src/aws-sms.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8C,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAuB1D,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,mBAAmB,CAAa;gBAE5B,MAAM,EAAE,YAAY;IAyE1B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBxD,OAAO;CAiEtB"}
1
+ {"version":3,"file":"aws-sms.provider.d.ts","sourceRoot":"","sources":["../src/aws-sms.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAIX,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAuB1D,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,mBAAmB,CAAa;IAKxC,OAAO,CAAC,cAAc,CAAC,CAAoB;IAK3C,OAAO,CAAC,eAAe,CAA4B;gBAEvC,MAAM,EAAE,YAAY;IAoDhC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IASlD,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;IAuCnD,OAAO,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IA4CV,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBxD,OAAO;CAiEtB"}
@@ -8,6 +8,8 @@ class AWSSMSProvider {
8
8
  config;
9
9
  SNSClientClass = null;
10
10
  PublishCommandClass = null;
11
+ templateEngine;
12
+ globalVariables = {};
11
13
  constructor(config) {
12
14
  this.logger = new core_1.NAuthLogger();
13
15
  this.config = config;
@@ -35,8 +37,33 @@ class AWSSMSProvider {
35
37
  this.snsClient = new this.SNSClientClass(clientConfig);
36
38
  this.logger.log(`AWS SMS Provider initialized (region: ${config.region})`);
37
39
  }
38
- async sendOTP(phone, code) {
39
- const message = `Your verification code is: ${code}`;
40
+ setTemplateEngine(engine) {
41
+ this.templateEngine = engine;
42
+ }
43
+ setGlobalVariables(variables) {
44
+ this.globalVariables = variables || {};
45
+ }
46
+ async sendOTP(phone, code, templateType, variables) {
47
+ let message;
48
+ if (this.templateEngine && templateType) {
49
+ try {
50
+ const allVariables = {
51
+ ...this.globalVariables,
52
+ code,
53
+ ...variables,
54
+ };
55
+ const template = await this.templateEngine.render(templateType, allVariables);
56
+ message = template.content;
57
+ }
58
+ catch (error) {
59
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
60
+ this.logger.error(`Failed to render SMS template: ${errorMessage}`);
61
+ message = `Your verification code is: ${code}`;
62
+ }
63
+ }
64
+ else {
65
+ message = `Your verification code is: ${code}`;
66
+ }
40
67
  await this.sendSMS(phone, message);
41
68
  }
42
69
  async sendVerificationCode(phone, code) {
@@ -1 +1 @@
1
- {"version":3,"file":"aws-sms.provider.js","sourceRoot":"","sources":["../src/aws-sms.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aws-sms.provider.js","sourceRoot":"","sources":["../src/aws-sms.provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nauth-toolkit/sms-aws-sns",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "AWS SNS SMS provider for nauth-toolkit",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "@aws-sdk/client-sns": "^3.0.0"
18
18
  },
19
19
  "peerDependencies": {
20
- "@nauth-toolkit/core": "^0.1.11"
20
+ "@nauth-toolkit/core": "^0.1.13"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/jest": "^29.5.0",