prime-sdk 3.0.7-beta.0 → 3.0.8-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.
@@ -5,6 +5,7 @@ export type SNSSetup = {
5
5
  endpoint?: string;
6
6
  credentials: AwsCredentialIdentityProvider | AwsCredentialIdentity;
7
7
  keepAlive?: boolean;
8
+ messageAttributes?: boolean;
8
9
  };
9
10
  export declare class SNSModule {
10
11
  static forRoot(params: SNSSetup): DynamicModule;
@@ -24,8 +24,14 @@ class SNSModule {
24
24
  const snsProvider = SNSProvider(params);
25
25
  return {
26
26
  module: SNSModule,
27
- providers: [snsProvider],
28
- exports: [snsProvider],
27
+ providers: [
28
+ snsProvider,
29
+ {
30
+ provide: 'SNS_OPTIONS',
31
+ useValue: params,
32
+ },
33
+ ],
34
+ exports: [snsProvider, 'SNS_OPTIONS'],
29
35
  };
30
36
  }
31
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sns.provider.js","sourceRoot":"","sources":["../../../../src/external/aws/sns/sns.provider.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAChD,iEAA4D;AAE5D,iCAA4C;AAa5C,MAAM,WAAW,GAAG,CAAC,MAAgB,EAAE,EAAE;IACvC,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,GAAG,EAAE;YACf,OAAO,IAAI,sBAAS,CAAC;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,cAAc,EAAE,IAAI,mCAAe,CAAC;oBAClC,UAAU,EAAE,IAAI,aAAU,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;iBACpE,CAAC;aACH,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAa,SAAS;IACpB,MAAM,CAAC,OAAO,CAAC,MAAgB;QAC7B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC,WAAW,CAAC;YACxB,OAAO,EAAE,CAAC,WAAW,CAAC;SACvB,CAAC;IACJ,CAAC;CACF;AAVD,8BAUC"}
1
+ {"version":3,"file":"sns.provider.js","sourceRoot":"","sources":["../../../../src/external/aws/sns/sns.provider.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAChD,iEAA4D;AAE5D,iCAA4C;AAc5C,MAAM,WAAW,GAAG,CAAC,MAAgB,EAAE,EAAE;IACvC,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,GAAG,EAAE;YACf,OAAO,IAAI,sBAAS,CAAC;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,cAAc,EAAE,IAAI,mCAAe,CAAC;oBAClC,UAAU,EAAE,IAAI,aAAU,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;iBACpE,CAAC;aACH,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAa,SAAS;IACpB,MAAM,CAAC,OAAO,CAAC,MAAgB;QAC7B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE;gBACT,WAAW;gBACX;oBACE,OAAO,EAAE,aAAa;oBACtB,QAAQ,EAAE,MAAM;iBACjB;aACF;YACD,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;SACtC,CAAC;IACJ,CAAC;CACF;AAhBD,8BAgBC"}
@@ -1,9 +1,12 @@
1
1
  import { PublishCommandOutput, SNSClient } from '@aws-sdk/client-sns';
2
2
  import { IEvent } from 'src/lib/events/interfaces/event.interface';
3
3
  import { EventData, EventSmsData } from 'src/lib/events/types/event.type';
4
+ import { SNSSetup } from './sns.provider';
4
5
  export declare class Sns implements IEvent {
5
6
  private readonly client;
6
- constructor(client: SNSClient);
7
+ private readonly options?;
8
+ constructor(client: SNSClient, options?: SNSSetup);
7
9
  publishSns(event: EventData): Promise<PublishCommandOutput>;
10
+ private getMessageAttributes;
8
11
  publishSms(event: EventSmsData): Promise<PublishCommandOutput>;
9
12
  }
@@ -16,16 +16,33 @@ exports.Sns = void 0;
16
16
  const client_sns_1 = require("@aws-sdk/client-sns");
17
17
  const common_1 = require("@nestjs/common");
18
18
  let Sns = class Sns {
19
- constructor(client) {
19
+ constructor(client, options) {
20
20
  this.client = client;
21
+ this.options = options;
21
22
  }
22
23
  async publishSns(event) {
24
+ const messageAttributes = this.getMessageAttributes(event);
23
25
  const command = new client_sns_1.PublishCommand({
24
26
  TopicArn: event.topic,
25
27
  Message: event.message,
28
+ ...(messageAttributes && { MessageAttributes: messageAttributes }),
26
29
  });
27
30
  return await this.client.send(command);
28
31
  }
32
+ getMessageAttributes(event) {
33
+ if (event.messageAttributes) {
34
+ return event.messageAttributes;
35
+ }
36
+ if (this.options?.messageAttributes) {
37
+ return {
38
+ enqueuedAt: {
39
+ DataType: 'Number',
40
+ StringValue: String(Date.now()),
41
+ },
42
+ };
43
+ }
44
+ return undefined;
45
+ }
29
46
  async publishSms(event) {
30
47
  const command = new client_sns_1.PublishCommand({
31
48
  PhoneNumber: event.phoneNumber,
@@ -38,6 +55,8 @@ exports.Sns = Sns;
38
55
  exports.Sns = Sns = __decorate([
39
56
  (0, common_1.Injectable)(),
40
57
  __param(0, (0, common_1.Inject)('CONNECTION_SNS')),
41
- __metadata("design:paramtypes", [client_sns_1.SNSClient])
58
+ __param(1, (0, common_1.Optional)()),
59
+ __param(1, (0, common_1.Inject)('SNS_OPTIONS')),
60
+ __metadata("design:paramtypes", [client_sns_1.SNSClient, Object])
42
61
  ], Sns);
43
62
  //# sourceMappingURL=sns.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sns.service.js","sourceRoot":"","sources":["../../../../src/external/aws/sns/sns.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAI6B;AAC7B,2CAAoD;AAK7C,IAAM,GAAG,GAAT,MAAM,GAAG;IACd,YAAuD,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAE5E,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;YACjC,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAmB;QAClC,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;YACjC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AApBY,kBAAG;cAAH,GAAG;IADf,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;qCAA0B,sBAAS;GAD7D,GAAG,CAoBf"}
1
+ {"version":3,"file":"sns.service.js","sourceRoot":"","sources":["../../../../src/external/aws/sns/sns.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAI6B;AAC7B,2CAA8D;AAMvD,IAAM,GAAG,GAAT,MAAM,GAAG;IACd,YAC6C,MAAiB,EACR,OAAkB;QAD3B,WAAM,GAAN,MAAM,CAAW;QACR,YAAO,GAAP,OAAO,CAAW;IACrE,CAAC;IAEJ,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;YACjC,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;SACnE,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,oBAAoB,CAAC,KAAgB;QAC3C,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC,iBAAiB,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;YACpC,OAAO;gBACL,UAAU,EAAE;oBACV,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;iBAChC;aACF,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAmB;QAClC,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;YACjC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AA3CY,kBAAG;cAAH,GAAG;IADf,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,aAAa,CAAC,CAAA;qCADiB,sBAAS;GAFnD,GAAG,CA2Cf"}
@@ -5,5 +5,6 @@ export interface IRedisService {
5
5
  getRedisKey(key: string): Promise<string>;
6
6
  deleteRedisKey(key: string): Promise<void>;
7
7
  createPubSubClient(): Promise<PubSubRedis>;
8
+ setRedisKeyIfNotExists(key: string, value: Date | number | Buffer | string, ttl?: number): Promise<boolean>;
8
9
  }
9
10
  export declare const IRedisService: unique symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"redis.interface.js","sourceRoot":"","sources":["../../../../src/external/redis/interfaces/redis.interface.ts"],"names":[],"mappings":";;;AAgBa,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"redis.interface.js","sourceRoot":"","sources":["../../../../src/external/redis/interfaces/redis.interface.ts"],"names":[],"mappings":";;;AAsBa,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
@@ -9,4 +9,5 @@ export declare class RedisService implements IRedisService {
9
9
  getRedisKey(key: string): Promise<string>;
10
10
  deleteRedisKey(key: string): Promise<void>;
11
11
  createPubSubClient(): Promise<PubSubRedis>;
12
+ setRedisKeyIfNotExists(key: string, value: Date | number | Buffer | string, ttl?: number): Promise<boolean>;
12
13
  }
@@ -41,6 +41,19 @@ let RedisService = class RedisService {
41
41
  sub: this.client.duplicate(),
42
42
  };
43
43
  }
44
+ async setRedisKeyIfNotExists(key, value, ttl) {
45
+ if (value instanceof Date) {
46
+ value = value.toISOString();
47
+ }
48
+ let result;
49
+ if (ttl) {
50
+ result = await this.client.set(key, value, 'EX', ttl, 'NX');
51
+ }
52
+ else {
53
+ result = await this.client.set(key, value, 'NX');
54
+ }
55
+ return result === 'OK';
56
+ }
44
57
  };
45
58
  exports.RedisService = RedisService;
46
59
  exports.RedisService = RedisService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../../src/external/redis/redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAM7C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAC+C,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IACnE,CAAC;IAEJ,KAAK,CAAC,WAAW,CACf,GAAW,EACX,KAAsC,EACtC,GAAY;QAEZ,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,MAAM;YAChB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;SAC7B,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;;GAFlB,YAAY,CAiCxB"}
1
+ {"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../../src/external/redis/redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAM7C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAC+C,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IACnE,CAAC;IAEJ,KAAK,CAAC,WAAW,CACf,GAAW,EACX,KAAsC,EACtC,GAAY;QAEZ,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,MAAM;YAChB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,GAAW,EACX,KAAsC,EACtC,GAAY;QAEZ,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,MAAc,CAAC;QACnB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,KAAK,IAAI,CAAC;IACzB,CAAC;CACF,CAAA;AAlDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;;GAFlB,YAAY,CAkDxB"}
package/dist/index.d.ts CHANGED
@@ -34,4 +34,5 @@ import { SecurityService } from './lib/entraID/security/security.service';
34
34
  import { EntraIDException } from './lib/entraID/customError/entraID.exception';
35
35
  import type { EntraUser, AuthResult, CallbackParams, TokenEnrichmentContext } from './lib/entraID/types/entraID.type';
36
36
  import type { EntraIDSetup, EntraIDAsyncOptions } from './lib/entraID/types/entraID-module-init.types';
37
- export { QueueModule, Queue, IConsumer, StorageModule, Storage, IStorage, EventModule, Events, IEvent, EmailModule, Email, IEmail, CryptoModule, Crypto, ICrypto, CacheModule, Cache, ICache, DocumentsModule, Documents, IBedrock, ITextract, SimpleRedisSetup, ClusterRedisSetup, TypeRedis, PubSubRedis, EntraIDModule, EntraIDModuleOptions, ENTRA_ID_CONFIG, EntraIDService, EntraAuthGuard, RolesGuard, InternalTokenService, CurrentUser, Public, Roles, CookieUtils, TokenUtils, SecurityService, EntraIDException, EntraIDSetup, EntraIDAsyncOptions, EntraUser, AuthResult, CallbackParams, TokenEnrichmentContext, };
37
+ import { SNSSetup } from './external/aws/sns/sns.provider';
38
+ export { QueueModule, Queue, IConsumer, StorageModule, Storage, IStorage, EventModule, Events, IEvent, SNSSetup, EmailModule, Email, IEmail, CryptoModule, Crypto, ICrypto, CacheModule, Cache, ICache, DocumentsModule, Documents, IBedrock, ITextract, SimpleRedisSetup, ClusterRedisSetup, TypeRedis, PubSubRedis, EntraIDModule, EntraIDModuleOptions, ENTRA_ID_CONFIG, EntraIDService, EntraAuthGuard, RolesGuard, InternalTokenService, CurrentUser, Public, Roles, CookieUtils, TokenUtils, SecurityService, EntraIDException, EntraIDSetup, EntraIDAsyncOptions, EntraUser, AuthResult, CallbackParams, TokenEnrichmentContext, };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AA2DrD,4FA3DO,0BAAW,OA2DP;AA1Db,6CAA0C;AA2DxC,sFA3DO,aAAK,OA2DP;AA1DP,kFAAsE;AA2DpE,0FA3DO,8BAAS,OA2DP;AAzDX,iEAA6D;AA0D3D,8FA1DO,8BAAa,OA0DP;AAzDf,mDAAgD;AA0D9C,wFA1DO,iBAAO,OA0DP;AAzDT,kFAAsE;AA0DpE,yFA1DO,4BAAQ,OA0DP;AAxDV,4DAAwD;AAyDtD,4FAzDO,0BAAW,OAyDP;AAxDb,gDAA6C;AAyD3C,uFAzDO,eAAM,OAyDP;AAxDR,6EAAiE;AAyD/D,uFAzDO,wBAAM,OAyDP;AAvDR,2DAAuD;AAwDrD,4FAxDO,0BAAW,OAwDP;AAvDb,6CAA0C;AAwDxC,sFAxDO,aAAK,OAwDP;AAvDP,4EAAgE;AAwD9D,uFAxDO,wBAAM,OAwDP;AAtDR,8DAA0D;AAuDxD,6FAvDO,4BAAY,OAuDP;AAtDd,gDAA6C;AAuD3C,uFAvDO,eAAM,OAuDP;AAtDR,+EAAmE;AAuDjE,wFAvDO,0BAAO,OAuDP;AArDT,2DAAuD;AAsDrD,4FAtDO,0BAAW,OAsDP;AArDb,6CAA0C;AAsDxC,sFAtDO,aAAK,OAsDP;AArDP,4EAAgE;AAsD9D,uFAtDO,wBAAM,OAsDP;AArDR,uEAAmE;AAsDjE,gGAtDO,kCAAe,OAsDP;AArDjB,yDAAsD;AAsDpD,0FAtDO,qBAAS,OAsDP;AArDX,wFAGwD;AAmDtD,yFArDA,8BAAQ,OAqDA;AACR,0FArDA,+BAAS,OAqDA;AAnDX,wEAK8C;AAiD5C,0FAnDA,yBAAS,OAmDA;AAhDX,iEAA8E;AAkD5E,8FAlDO,8BAAa,OAkDP;AAEb,gGApDsB,gCAAe,OAoDtB;AAlDjB,mEAA+D;AAmD7D,+FAnDO,gCAAc,OAmDP;AAlDhB,4EAAuE;AAmDrE,+FAnDO,iCAAc,OAmDP;AAlDhB,kEAA8D;AAmD5D,2FAnDO,wBAAU,OAmDP;AAlDZ,gGAA2F;AAmDzF,qGAnDO,6CAAoB,OAmDP;AAlDtB,4FAA8E;AAmD5E,4FAnDO,oCAAW,OAmDP;AAlDb,gFAAmE;AAmDjE,uFAnDO,yBAAM,OAmDP;AAlDR,8EAAiE;AAmD/D,sFAnDO,uBAAK,OAmDP;AAlDP,+CAA8D;AAmD5D,4FAnDO,mBAAW,OAmDP;AACX,2FApDoB,kBAAU,OAoDpB;AAnDZ,8EAA0E;AAoDxE,gGApDO,kCAAe,OAoDP;AAnDjB,mFAA+E;AAoD7E,iGApDO,oCAAgB,OAoDP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AA6DrD,4FA7DO,0BAAW,OA6DP;AA5Db,6CAA0C;AA6DxC,sFA7DO,aAAK,OA6DP;AA5DP,kFAAsE;AA6DpE,0FA7DO,8BAAS,OA6DP;AA3DX,iEAA6D;AA4D3D,8FA5DO,8BAAa,OA4DP;AA3Df,mDAAgD;AA4D9C,wFA5DO,iBAAO,OA4DP;AA3DT,kFAAsE;AA4DpE,yFA5DO,4BAAQ,OA4DP;AA1DV,4DAAwD;AA2DtD,4FA3DO,0BAAW,OA2DP;AA1Db,gDAA6C;AA2D3C,uFA3DO,eAAM,OA2DP;AA1DR,6EAAiE;AA2D/D,uFA3DO,wBAAM,OA2DP;AAzDR,2DAAuD;AA2DrD,4FA3DO,0BAAW,OA2DP;AA1Db,6CAA0C;AA2DxC,sFA3DO,aAAK,OA2DP;AA1DP,4EAAgE;AA2D9D,uFA3DO,wBAAM,OA2DP;AAzDR,8DAA0D;AA0DxD,6FA1DO,4BAAY,OA0DP;AAzDd,gDAA6C;AA0D3C,uFA1DO,eAAM,OA0DP;AAzDR,+EAAmE;AA0DjE,wFA1DO,0BAAO,OA0DP;AAxDT,2DAAuD;AAyDrD,4FAzDO,0BAAW,OAyDP;AAxDb,6CAA0C;AAyDxC,sFAzDO,aAAK,OAyDP;AAxDP,4EAAgE;AAyD9D,uFAzDO,wBAAM,OAyDP;AAxDR,uEAAmE;AAyDjE,gGAzDO,kCAAe,OAyDP;AAxDjB,yDAAsD;AAyDpD,0FAzDO,qBAAS,OAyDP;AAxDX,wFAGwD;AAsDtD,yFAxDA,8BAAQ,OAwDA;AACR,0FAxDA,+BAAS,OAwDA;AAtDX,wEAK8C;AAoD5C,0FAtDA,yBAAS,OAsDA;AAnDX,iEAA8E;AAqD5E,8FArDO,8BAAa,OAqDP;AAEb,gGAvDsB,gCAAe,OAuDtB;AArDjB,mEAA+D;AAsD7D,+FAtDO,gCAAc,OAsDP;AArDhB,4EAAuE;AAsDrE,+FAtDO,iCAAc,OAsDP;AArDhB,kEAA8D;AAsD5D,2FAtDO,wBAAU,OAsDP;AArDZ,gGAA2F;AAsDzF,qGAtDO,6CAAoB,OAsDP;AArDtB,4FAA8E;AAsD5E,4FAtDO,oCAAW,OAsDP;AArDb,gFAAmE;AAsDjE,uFAtDO,yBAAM,OAsDP;AArDR,8EAAiE;AAsD/D,sFAtDO,uBAAK,OAsDP;AArDP,+CAA8D;AAsD5D,4FAtDO,mBAAW,OAsDP;AACX,2FAvDoB,kBAAU,OAuDpB;AAtDZ,8EAA0E;AAuDxE,gGAvDO,kCAAe,OAuDP;AAtDjB,mFAA+E;AAuD7E,iGAvDO,oCAAgB,OAuDP"}
@@ -9,4 +9,5 @@ export declare class Cache implements ICache {
9
9
  get(key: string): Promise<string>;
10
10
  delete(key: string): Promise<void>;
11
11
  createPubSubClient(): Promise<PubSubRedis>;
12
+ setIfNotExists(key: string, value: Date | number | Buffer | string, ttl?: number): Promise<boolean>;
12
13
  }
@@ -31,6 +31,9 @@ let Cache = class Cache {
31
31
  async createPubSubClient() {
32
32
  return await this.client.createPubSubClient();
33
33
  }
34
+ async setIfNotExists(key, value, ttl) {
35
+ return await this.client.setRedisKeyIfNotExists(key, value, ttl);
36
+ }
34
37
  };
35
38
  exports.Cache = Cache;
36
39
  exports.Cache = Cache = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/lib/cache/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,qFAA8E;AAIvE,IAAM,KAAK,GAAX,MAAM,KAAK;IAChB,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAC7E,KAAK,CAAC,GAAG,CACP,GAAW,EACX,KAAsC,EACtC,GAAY;QAEZ,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAChD,CAAC;CACF,CAAA;AApBY,sBAAK;gBAAL,KAAK;IADjB,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,+BAAa,CAAC,CAAA;;GADvB,KAAK,CAoBjB"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/lib/cache/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,qFAA8E;AAIvE,IAAM,KAAK,GAAX,MAAM,KAAK;IAChB,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAC7E,KAAK,CAAC,GAAG,CACP,GAAW,EACX,KAAsC,EACtC,GAAY;QAEZ,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,GAAW,EACX,KAAsC,EACtC,GAAY;QAEZ,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;CACF,CAAA;AA5BY,sBAAK;gBAAL,KAAK;IADjB,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,+BAAa,CAAC,CAAA;;GADvB,KAAK,CA4BjB"}
@@ -5,5 +5,6 @@ export interface ICache {
5
5
  get(key: string): Promise<string>;
6
6
  delete(key: string): Promise<void>;
7
7
  createPubSubClient(): Promise<PubSubRedis>;
8
+ setIfNotExists(key: string, value: Date | number | Buffer | string, ttl?: number): Promise<boolean>;
8
9
  }
9
10
  export declare const ICache: unique symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"cache.interface.js","sourceRoot":"","sources":["../../../../src/lib/cache/interfaces/cache.interface.ts"],"names":[],"mappings":";;;AAgBa,QAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"cache.interface.js","sourceRoot":"","sources":["../../../../src/lib/cache/interfaces/cache.interface.ts"],"names":[],"mappings":";;;AAsBa,QAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
+ import { MessageAttributeValue } from '@aws-sdk/client-sns';
1
2
  export type EventData = {
2
3
  topic: string;
3
4
  message: string;
5
+ messageAttributes?: Record<string, MessageAttributeValue>;
4
6
  };
5
7
  export type EventSmsData = {
6
8
  phoneNumber: string;