prime-sdk 3.0.6 → 3.0.7

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.
Files changed (30) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/dist/external/aws/sns/sns.provider.d.ts +1 -0
  3. package/dist/external/aws/sns/sns.provider.js +8 -2
  4. package/dist/external/aws/sns/sns.provider.js.map +1 -1
  5. package/dist/external/aws/sns/sns.service.d.ts +4 -1
  6. package/dist/external/aws/sns/sns.service.js +21 -2
  7. package/dist/external/aws/sns/sns.service.js.map +1 -1
  8. package/dist/external/redis/interfaces/redis.interface.d.ts +1 -0
  9. package/dist/external/redis/interfaces/redis.interface.js.map +1 -1
  10. package/dist/external/redis/redis.service.d.ts +1 -0
  11. package/dist/external/redis/redis.service.js +13 -0
  12. package/dist/external/redis/redis.service.js.map +1 -1
  13. package/dist/index.d.ts +2 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/cache/cache.d.ts +1 -0
  16. package/dist/lib/cache/cache.js +3 -0
  17. package/dist/lib/cache/cache.js.map +1 -1
  18. package/dist/lib/cache/interfaces/cache.interface.d.ts +1 -0
  19. package/dist/lib/cache/interfaces/cache.interface.js.map +1 -1
  20. package/dist/lib/events/types/event.type.d.ts +2 -0
  21. package/dist/tsconfig.build.tsbuildinfo +1 -1
  22. package/package.json +1 -1
  23. package/src/external/aws/sns/sns.provider.ts +9 -2
  24. package/src/external/aws/sns/sns.service.ts +26 -2
  25. package/src/external/redis/interfaces/redis.interface.ts +6 -0
  26. package/src/external/redis/redis.service.ts +17 -0
  27. package/src/index.ts +3 -0
  28. package/src/lib/cache/cache.ts +8 -0
  29. package/src/lib/cache/interfaces/cache.interface.ts +6 -0
  30. package/src/lib/events/types/event.type.ts +3 -0
Binary file
@@ -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
@@ -20,4 +20,5 @@ import { DocumentsModule } from './lib/documents/documents.module';
20
20
  import { Documents } from './lib/documents/documents';
21
21
  import { IBedrock, ITextract } from './lib/documents/interfaces/documents.interface';
22
22
  import { SimpleRedisSetup, ClusterRedisSetup, TypeRedis, PubSubRedis } from './external/redis/types/ioredis.types';
23
- 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, };
23
+ import { SNSSetup } from './external/aws/sns/sns.provider';
24
+ 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, };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAqCrD,4FArCO,0BAAW,OAqCP;AApCb,6CAA0C;AAqCxC,sFArCO,aAAK,OAqCP;AApCP,kFAAsE;AAqCpE,0FArCO,8BAAS,OAqCP;AAnCX,iEAA6D;AAoC3D,8FApCO,8BAAa,OAoCP;AAnCf,mDAAgD;AAoC9C,wFApCO,iBAAO,OAoCP;AAnCT,kFAAsE;AAoCpE,yFApCO,4BAAQ,OAoCP;AAlCV,4DAAwD;AAmCtD,4FAnCO,0BAAW,OAmCP;AAlCb,gDAA6C;AAmC3C,uFAnCO,eAAM,OAmCP;AAlCR,6EAAiE;AAmC/D,uFAnCO,wBAAM,OAmCP;AAjCR,2DAAuD;AAkCrD,4FAlCO,0BAAW,OAkCP;AAjCb,6CAA0C;AAkCxC,sFAlCO,aAAK,OAkCP;AAjCP,4EAAgE;AAkC9D,uFAlCO,wBAAM,OAkCP;AAhCR,8DAA0D;AAiCxD,6FAjCO,4BAAY,OAiCP;AAhCd,gDAA6C;AAiC3C,uFAjCO,eAAM,OAiCP;AAhCR,+EAAmE;AAiCjE,wFAjCO,0BAAO,OAiCP;AA/BT,2DAAuD;AAgCrD,4FAhCO,0BAAW,OAgCP;AA/Bb,6CAA0C;AAgCxC,sFAhCO,aAAK,OAgCP;AA/BP,4EAAgE;AAgC9D,uFAhCO,wBAAM,OAgCP;AA/BR,uEAAmE;AAgCjE,gGAhCO,kCAAe,OAgCP;AA/BjB,yDAAsD;AAgCpD,0FAhCO,qBAAS,OAgCP;AA/BX,wFAGwD;AA6BtD,yFA/BA,8BAAQ,OA+BA;AACR,0FA/BA,+BAAS,OA+BA;AA7BX,wEAK8C;AA2B5C,0FA7BA,yBAAS,OA6BA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAuCrD,4FAvCO,0BAAW,OAuCP;AAtCb,6CAA0C;AAuCxC,sFAvCO,aAAK,OAuCP;AAtCP,kFAAsE;AAuCpE,0FAvCO,8BAAS,OAuCP;AArCX,iEAA6D;AAsC3D,8FAtCO,8BAAa,OAsCP;AArCf,mDAAgD;AAsC9C,wFAtCO,iBAAO,OAsCP;AArCT,kFAAsE;AAsCpE,yFAtCO,4BAAQ,OAsCP;AApCV,4DAAwD;AAqCtD,4FArCO,0BAAW,OAqCP;AApCb,gDAA6C;AAqC3C,uFArCO,eAAM,OAqCP;AApCR,6EAAiE;AAqC/D,uFArCO,wBAAM,OAqCP;AAnCR,2DAAuD;AAqCrD,4FArCO,0BAAW,OAqCP;AApCb,6CAA0C;AAqCxC,sFArCO,aAAK,OAqCP;AApCP,4EAAgE;AAqC9D,uFArCO,wBAAM,OAqCP;AAnCR,8DAA0D;AAoCxD,6FApCO,4BAAY,OAoCP;AAnCd,gDAA6C;AAoC3C,uFApCO,eAAM,OAoCP;AAnCR,+EAAmE;AAoCjE,wFApCO,0BAAO,OAoCP;AAlCT,2DAAuD;AAmCrD,4FAnCO,0BAAW,OAmCP;AAlCb,6CAA0C;AAmCxC,sFAnCO,aAAK,OAmCP;AAlCP,4EAAgE;AAmC9D,uFAnCO,wBAAM,OAmCP;AAlCR,uEAAmE;AAmCjE,gGAnCO,kCAAe,OAmCP;AAlCjB,yDAAsD;AAmCpD,0FAnCO,qBAAS,OAmCP;AAlCX,wFAGwD;AAgCtD,yFAlCA,8BAAQ,OAkCA;AACR,0FAlCA,+BAAS,OAkCA;AAhCX,wEAK8C;AA8B5C,0FAhCA,yBAAS,OAgCA"}
@@ -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;