prime-sdk 1.4.2 → 1.5.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.
Files changed (133) hide show
  1. package/dist/src/app.module.d.ts +2 -0
  2. package/dist/src/app.module.js +82 -0
  3. package/dist/src/app.module.js.map +1 -0
  4. package/dist/src/app.service.d.ts +15 -0
  5. package/dist/src/app.service.js +68 -0
  6. package/dist/src/app.service.js.map +1 -0
  7. package/dist/src/external/aws/kms/kms.provider.d.ts +12 -0
  8. package/dist/src/external/aws/kms/kms.provider.js +31 -0
  9. package/dist/src/external/aws/kms/kms.provider.js.map +1 -0
  10. package/dist/src/external/aws/kms/kms.service.d.ts +9 -0
  11. package/dist/src/external/aws/kms/kms.service.js +43 -0
  12. package/dist/src/external/aws/kms/kms.service.js.map +1 -0
  13. package/dist/src/external/aws/s3/s3.provider.d.ts +12 -0
  14. package/dist/src/external/aws/s3/s3.provider.js +31 -0
  15. package/dist/src/external/aws/s3/s3.provider.js.map +1 -0
  16. package/dist/src/external/aws/s3/s3.service.d.ts +14 -0
  17. package/dist/src/external/aws/s3/s3.service.js +88 -0
  18. package/dist/src/external/aws/s3/s3.service.js.map +1 -0
  19. package/dist/src/external/aws/ses/ses.provider.d.ts +12 -0
  20. package/dist/src/external/aws/ses/ses.provider.js +31 -0
  21. package/dist/src/external/aws/ses/ses.provider.js.map +1 -0
  22. package/dist/src/external/aws/ses/ses.service.d.ts +9 -0
  23. package/dist/src/external/aws/ses/ses.service.js +60 -0
  24. package/dist/src/external/aws/ses/ses.service.js.map +1 -0
  25. package/dist/src/external/aws/sns/sns.provider.d.ts +12 -0
  26. package/dist/src/external/aws/sns/sns.provider.js +31 -0
  27. package/dist/src/external/aws/sns/sns.provider.js.map +1 -0
  28. package/dist/src/external/aws/sns/sns.service.d.ts +9 -0
  29. package/dist/src/external/aws/sns/sns.service.js +43 -0
  30. package/dist/src/external/aws/sns/sns.service.js.map +1 -0
  31. package/dist/src/external/aws/sqs/sqs.provider.d.ts +12 -0
  32. package/dist/src/external/aws/sqs/sqs.provider.js +31 -0
  33. package/dist/src/external/aws/sqs/sqs.provider.js.map +1 -0
  34. package/dist/src/external/aws/sqs/sqs.service.d.ts +17 -0
  35. package/dist/src/external/aws/sqs/sqs.service.js +53 -0
  36. package/dist/src/external/aws/sqs/sqs.service.js.map +1 -0
  37. package/dist/src/external/redis/interfaces/redis.interface.d.ts +7 -0
  38. package/dist/src/external/redis/interfaces/redis.interface.js +5 -0
  39. package/dist/src/external/redis/interfaces/redis.interface.js.map +1 -0
  40. package/dist/src/external/redis/redis.provider.d.ts +5 -0
  41. package/dist/src/external/redis/redis.provider.js +46 -0
  42. package/dist/src/external/redis/redis.provider.js.map +1 -0
  43. package/dist/src/external/redis/redis.service.d.ts +10 -0
  44. package/dist/src/external/redis/redis.service.js +45 -0
  45. package/dist/src/external/redis/redis.service.js.map +1 -0
  46. package/dist/src/external/redis/types/ioredis.types.d.ts +19 -0
  47. package/dist/src/external/redis/types/ioredis.types.js +9 -0
  48. package/dist/src/external/redis/types/ioredis.types.js.map +1 -0
  49. package/dist/src/index.d.ts +20 -0
  50. package/dist/src/index.js +42 -0
  51. package/dist/src/index.js.map +1 -0
  52. package/dist/src/lib/cache/cache.d.ts +10 -0
  53. package/dist/src/lib/cache/cache.js +38 -0
  54. package/dist/src/lib/cache/cache.js.map +1 -0
  55. package/dist/src/lib/cache/cache.module.d.ts +5 -0
  56. package/dist/src/lib/cache/cache.module.js +37 -0
  57. package/dist/src/lib/cache/cache.module.js.map +1 -0
  58. package/dist/src/lib/cache/interfaces/cache.interface.d.ts +7 -0
  59. package/dist/src/lib/cache/interfaces/cache.interface.js +5 -0
  60. package/dist/src/lib/cache/interfaces/cache.interface.js.map +1 -0
  61. package/dist/src/lib/crypto/crypto.d.ts +9 -0
  62. package/dist/src/lib/crypto/crypto.js +35 -0
  63. package/dist/src/lib/crypto/crypto.js.map +1 -0
  64. package/dist/src/lib/crypto/crypto.module.d.ts +5 -0
  65. package/dist/src/lib/crypto/crypto.module.js +30 -0
  66. package/dist/src/lib/crypto/crypto.module.js.map +1 -0
  67. package/dist/src/lib/crypto/interfaces/crypto.interface.d.ts +7 -0
  68. package/dist/src/lib/crypto/interfaces/crypto.interface.js +5 -0
  69. package/dist/src/lib/crypto/interfaces/crypto.interface.js.map +1 -0
  70. package/dist/src/lib/crypto/types/crypto.type.d.ts +9 -0
  71. package/dist/src/lib/crypto/types/crypto.type.js +3 -0
  72. package/dist/src/lib/crypto/types/crypto.type.js.map +1 -0
  73. package/dist/src/lib/email/email.d.ts +9 -0
  74. package/dist/src/lib/email/email.js +35 -0
  75. package/dist/src/lib/email/email.js.map +1 -0
  76. package/dist/src/lib/email/email.module.d.ts +5 -0
  77. package/dist/src/lib/email/email.module.js +30 -0
  78. package/dist/src/lib/email/email.module.js.map +1 -0
  79. package/dist/src/lib/email/interfaces/email.interface.d.ts +7 -0
  80. package/dist/src/lib/email/interfaces/email.interface.js +5 -0
  81. package/dist/src/lib/email/interfaces/email.interface.js.map +1 -0
  82. package/dist/src/lib/email/types/email.type.d.ts +11 -0
  83. package/dist/src/lib/email/types/email.type.js +3 -0
  84. package/dist/src/lib/email/types/email.type.js.map +1 -0
  85. package/dist/src/lib/events/event.module.d.ts +5 -0
  86. package/dist/src/lib/events/event.module.js +30 -0
  87. package/dist/src/lib/events/event.module.js.map +1 -0
  88. package/dist/src/lib/events/events.d.ts +9 -0
  89. package/dist/src/lib/events/events.js +35 -0
  90. package/dist/src/lib/events/events.js.map +1 -0
  91. package/dist/src/lib/events/interfaces/event.interface.d.ts +7 -0
  92. package/dist/src/lib/events/interfaces/event.interface.js +5 -0
  93. package/dist/src/lib/events/interfaces/event.interface.js.map +1 -0
  94. package/dist/src/lib/events/types/event.type.d.ts +8 -0
  95. package/dist/src/lib/events/types/event.type.js +3 -0
  96. package/dist/src/lib/events/types/event.type.js.map +1 -0
  97. package/dist/src/lib/queue/interfaces/consumer.interface.d.ts +6 -0
  98. package/dist/src/lib/queue/interfaces/consumer.interface.js +5 -0
  99. package/dist/src/lib/queue/interfaces/consumer.interface.js.map +1 -0
  100. package/dist/src/lib/queue/interfaces/queue.interface.d.ts +11 -0
  101. package/dist/src/lib/queue/interfaces/queue.interface.js +5 -0
  102. package/dist/src/lib/queue/interfaces/queue.interface.js.map +1 -0
  103. package/dist/src/lib/queue/queue.d.ts +16 -0
  104. package/dist/src/lib/queue/queue.js +77 -0
  105. package/dist/src/lib/queue/queue.js.map +1 -0
  106. package/dist/src/lib/queue/queue.module.d.ts +5 -0
  107. package/dist/src/lib/queue/queue.module.js +30 -0
  108. package/dist/src/lib/queue/queue.module.js.map +1 -0
  109. package/dist/src/lib/queue/types/queue.type.d.ts +7 -0
  110. package/dist/src/lib/queue/types/queue.type.js +3 -0
  111. package/dist/src/lib/queue/types/queue.type.js.map +1 -0
  112. package/dist/src/lib/storage/interfaces/storage.interface.d.ts +12 -0
  113. package/dist/src/lib/storage/interfaces/storage.interface.js +5 -0
  114. package/dist/src/lib/storage/interfaces/storage.interface.js.map +1 -0
  115. package/dist/src/lib/storage/storage.d.ts +14 -0
  116. package/dist/src/lib/storage/storage.js +50 -0
  117. package/dist/src/lib/storage/storage.js.map +1 -0
  118. package/dist/src/lib/storage/storage.module.d.ts +5 -0
  119. package/dist/src/lib/storage/storage.module.js +30 -0
  120. package/dist/src/lib/storage/storage.module.js.map +1 -0
  121. package/dist/src/lib/storage/types/storage.type.d.ts +35 -0
  122. package/dist/src/lib/storage/types/storage.type.js +3 -0
  123. package/dist/src/lib/storage/types/storage.type.js.map +1 -0
  124. package/dist/src/main.d.ts +1 -0
  125. package/dist/src/main.js +10 -0
  126. package/dist/src/main.js.map +1 -0
  127. package/dist/test/app.e2e-spec.d.ts +1 -0
  128. package/dist/test/app.e2e-spec.js +22 -0
  129. package/dist/test/app.e2e-spec.js.map +1 -0
  130. package/dist/tsconfig.tsbuildinfo +1 -0
  131. package/package.json +8 -8
  132. package/src/external/aws/s3/s3.service.ts +1 -0
  133. package/src/lib/storage/types/storage.type.ts +1 -0
@@ -0,0 +1,2 @@
1
+ export declare class AppModule {
2
+ }
@@ -0,0 +1,82 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AppModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const app_service_1 = require("./app.service");
12
+ const queue_module_1 = require("./lib/queue/queue.module");
13
+ const storage_module_1 = require("./lib/storage/storage.module");
14
+ const event_module_1 = require("./lib/events/event.module");
15
+ const crypto_module_1 = require("./lib/crypto/crypto.module");
16
+ const email_module_1 = require("./lib/email/email.module");
17
+ const cache_module_1 = require("./lib/cache/cache.module");
18
+ const ioredis_types_1 = require("./external/redis/types/ioredis.types");
19
+ const cache_interface_1 = require("./lib/cache/interfaces/cache.interface");
20
+ const cache_1 = require("./lib/cache/cache");
21
+ let AppModule = class AppModule {
22
+ };
23
+ exports.AppModule = AppModule;
24
+ exports.AppModule = AppModule = __decorate([
25
+ (0, common_1.Module)({
26
+ imports: [
27
+ queue_module_1.QueueModule.forRoot({
28
+ credentials: {
29
+ accessKeyId: '000000000',
30
+ secretAccessKey: '000000000',
31
+ },
32
+ endpoint: 'http://localhost:4566/',
33
+ region: 'us-east-1',
34
+ }),
35
+ storage_module_1.StorageModule.forRoot({
36
+ credentials: {
37
+ accessKeyId: '000000000',
38
+ secretAccessKey: '000000000',
39
+ },
40
+ endpoint: 'http://localhost:4566/sample-bucket',
41
+ region: 'us-east-1',
42
+ }),
43
+ event_module_1.EventModule.forRoot({
44
+ credentials: {
45
+ accessKeyId: '000000000',
46
+ secretAccessKey: '000000000',
47
+ },
48
+ endpoint: 'http://localhost:4566/',
49
+ region: 'us-east-1',
50
+ }),
51
+ crypto_module_1.CryptoModule.forRoot({
52
+ credentials: {
53
+ accessKeyId: '000000000',
54
+ secretAccessKey: '000000000',
55
+ },
56
+ endpoint: 'http://localhost:4566/',
57
+ region: 'us-east-1',
58
+ }),
59
+ email_module_1.EmailModule.forRoot({
60
+ credentials: {
61
+ accessKeyId: '000000000',
62
+ secretAccessKey: '000000000',
63
+ },
64
+ endpoint: 'http://localhost:4566/',
65
+ region: 'us-east-1',
66
+ }),
67
+ cache_module_1.CacheModule.forRoot({
68
+ type: ioredis_types_1.TypeRedis.SIMPLE,
69
+ connection: {
70
+ host: 'localhost',
71
+ port: 6379,
72
+ },
73
+ redisOptions: {
74
+ db: 5,
75
+ },
76
+ }),
77
+ ],
78
+ providers: [app_service_1.AppService, { provide: cache_interface_1.ICache, useClass: cache_1.Cache }],
79
+ exports: [],
80
+ })
81
+ ], AppModule);
82
+ //# sourceMappingURL=app.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,2DAAuD;AACvD,iEAA6D;AAC7D,4DAAwD;AACxD,8DAA0D;AAC1D,2DAAuD;AACvD,2DAAuD;AACvD,wEAAiE;AACjE,4EAAgE;AAChE,6CAA0C;AA2DnC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAxDrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,0BAAW,CAAC,OAAO,CAAC;gBAClB,WAAW,EAAE;oBACX,WAAW,EAAE,WAAW;oBACxB,eAAe,EAAE,WAAW;iBAC7B;gBACD,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,8BAAa,CAAC,OAAO,CAAC;gBACpB,WAAW,EAAE;oBACX,WAAW,EAAE,WAAW;oBACxB,eAAe,EAAE,WAAW;iBAC7B;gBACD,QAAQ,EAAE,qCAAqC;gBAC/C,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,0BAAW,CAAC,OAAO,CAAC;gBAClB,WAAW,EAAE;oBACX,WAAW,EAAE,WAAW;oBACxB,eAAe,EAAE,WAAW;iBAC7B;gBACD,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,4BAAY,CAAC,OAAO,CAAC;gBACnB,WAAW,EAAE;oBACX,WAAW,EAAE,WAAW;oBACxB,eAAe,EAAE,WAAW;iBAC7B;gBACD,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,0BAAW,CAAC,OAAO,CAAC;gBAClB,WAAW,EAAE;oBACX,WAAW,EAAE,WAAW;oBACxB,eAAe,EAAE,WAAW;iBAC7B;gBACD,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,0BAAW,CAAC,OAAO,CAAC;gBAClB,IAAI,EAAE,yBAAS,CAAC,MAAM;gBACtB,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,IAAI;iBACX;gBACD,YAAY,EAAE;oBACZ,EAAE,EAAE,CAAC;iBACN;aACF,CAAC;SACH;QACD,SAAS,EAAE,CAAC,wBAAU,EAAE,EAAE,OAAO,EAAE,wBAAM,EAAE,QAAQ,EAAE,aAAK,EAAE,CAAC;QAC7D,OAAO,EAAE,EAAE;KACZ,CAAC;GACW,SAAS,CAAG"}
@@ -0,0 +1,15 @@
1
+ import { IConsumer } from './lib/queue/interfaces/consumer.interface';
2
+ import { Message } from '@aws-sdk/client-sqs';
3
+ import { Queue } from './lib/queue/queue';
4
+ import { Storage } from './lib/storage/storage';
5
+ import { Events } from './lib/events/events';
6
+ import { ICache } from './lib/cache/interfaces/cache.interface';
7
+ export declare class AppService implements IConsumer {
8
+ private readonly queueHandler;
9
+ private readonly storage;
10
+ private readonly event;
11
+ private readonly cache;
12
+ constructor(queueHandler: Queue, storage: Storage, event: Events, cache: ICache);
13
+ handleMessage(message: Message | Message[]): Promise<void>;
14
+ handleError(error: unknown): Promise<void>;
15
+ }
@@ -0,0 +1,68 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AppService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const queue_1 = require("./lib/queue/queue");
18
+ const storage_1 = require("./lib/storage/storage");
19
+ const events_1 = require("./lib/events/events");
20
+ const cache_interface_1 = require("./lib/cache/interfaces/cache.interface");
21
+ let AppService = class AppService {
22
+ constructor(queueHandler, storage, event, cache) {
23
+ this.queueHandler = queueHandler;
24
+ this.storage = storage;
25
+ this.event = event;
26
+ this.cache = cache;
27
+ this.queueHandler.handler({
28
+ QueueUrl: `${'teste'}`,
29
+ context: this,
30
+ bulk: 1,
31
+ waitTimeSeconds: 20,
32
+ });
33
+ }
34
+ async handleMessage(message) {
35
+ console.log(message);
36
+ const key = `data:${new Date().toISOString()}`;
37
+ this.cache.set(key, JSON.stringify(message));
38
+ const value = await this.cache.get(key);
39
+ console.log(value);
40
+ this.cache.delete(key);
41
+ const data = JSON.stringify({ teste: new Date().toISOString() });
42
+ this.event.triggerEvent({
43
+ topic: 'arn:aws:sns:us-east-1:000000000000:teste-topic',
44
+ message: data,
45
+ });
46
+ const file = Buffer.from(data, 'utf-8');
47
+ this.storage.uploadFile({
48
+ bucket: 'sample-bucket',
49
+ file: file,
50
+ nameFile: 'teste.txt',
51
+ path: 'prime-sdk',
52
+ });
53
+ return;
54
+ }
55
+ handleError(error) {
56
+ console.log(error);
57
+ return;
58
+ }
59
+ };
60
+ exports.AppService = AppService;
61
+ exports.AppService = AppService = __decorate([
62
+ (0, common_1.Injectable)(),
63
+ __param(3, (0, common_1.Inject)(cache_interface_1.ICache)),
64
+ __metadata("design:paramtypes", [queue_1.Queue,
65
+ storage_1.Storage,
66
+ events_1.Events, Object])
67
+ ], AppService);
68
+ //# sourceMappingURL=app.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.service.js","sourceRoot":"","sources":["../../src/app.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAGpD,6CAA0C;AAC1C,mDAAgD;AAChD,gDAA6C;AAC7C,4EAAgE;AAGzD,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,YACmB,YAAmB,EACnB,OAAgB,EAChB,KAAa,EACG,KAAa;QAH7B,iBAAY,GAAZ,YAAY,CAAO;QACnB,YAAO,GAAP,OAAO,CAAS;QAChB,UAAK,GAAL,KAAK,CAAQ;QACG,UAAK,GAAL,KAAK,CAAQ;QAE9C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,GAAG,OAAO,EAAE;YACtB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC;YACP,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA4B;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAE/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAExC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACtB,KAAK,EAAE,gDAAgD;YACvD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACtB,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAED,WAAW,CAAC,KAAc;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;CACF,CAAA;AAnDY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,wBAAM,CAAC,CAAA;qCAHgB,aAAK;QACV,iBAAO;QACT,eAAM;GAJrB,UAAU,CAmDtB"}
@@ -0,0 +1,12 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export type KMSSetup = {
3
+ region: string;
4
+ endpoint?: string;
5
+ credentials: {
6
+ accessKeyId: string;
7
+ secretAccessKey: string;
8
+ };
9
+ };
10
+ export declare class KMSModule {
11
+ static forRoot(params: KMSSetup): DynamicModule;
12
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KMSModule = void 0;
4
+ const client_kms_1 = require("@aws-sdk/client-kms");
5
+ const KMSProvider = (params) => {
6
+ return {
7
+ provide: 'CONNECTION_KMS',
8
+ useFactory: () => {
9
+ return new client_kms_1.KMSClient({
10
+ credentials: {
11
+ accessKeyId: params.credentials.accessKeyId,
12
+ secretAccessKey: params.credentials.secretAccessKey,
13
+ },
14
+ ...(params.endpoint && { endpoint: params.endpoint }),
15
+ region: params.region,
16
+ });
17
+ },
18
+ };
19
+ };
20
+ class KMSModule {
21
+ static forRoot(params) {
22
+ const kmsProvider = KMSProvider(params);
23
+ return {
24
+ module: KMSModule,
25
+ providers: [kmsProvider],
26
+ exports: [kmsProvider],
27
+ };
28
+ }
29
+ }
30
+ exports.KMSModule = KMSModule;
31
+ //# sourceMappingURL=kms.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kms.provider.js","sourceRoot":"","sources":["../../../../../src/external/aws/kms/kms.provider.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAYhD,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;oBACX,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBAC3C,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;iBACpD;gBACD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,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"}
@@ -0,0 +1,9 @@
1
+ import { DecryptCommandOutput, EncryptCommandOutput, KMSClient } from '@aws-sdk/client-kms';
2
+ import { ICrypto } from 'src/lib/crypto/interfaces/crypto.interface';
3
+ import { DecryptData, EncryptData } from 'src/lib/crypto/types/crypto.type';
4
+ export declare class KMS implements ICrypto {
5
+ private readonly client;
6
+ constructor(client: KMSClient);
7
+ encrypt(data: EncryptData): Promise<EncryptCommandOutput>;
8
+ decrypt(data: DecryptData): Promise<DecryptCommandOutput>;
9
+ }
@@ -0,0 +1,43 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.KMS = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const client_kms_1 = require("@aws-sdk/client-kms");
18
+ let KMS = class KMS {
19
+ constructor(client) {
20
+ this.client = client;
21
+ }
22
+ async encrypt(data) {
23
+ const command = new client_kms_1.EncryptCommand({
24
+ KeyId: data.keyId,
25
+ Plaintext: data.value,
26
+ });
27
+ return await this.client.send(command);
28
+ }
29
+ async decrypt(data) {
30
+ const command = new client_kms_1.DecryptCommand({
31
+ CiphertextBlob: data.value,
32
+ KeyId: data.keyId,
33
+ });
34
+ return await this.client.send(command);
35
+ }
36
+ };
37
+ exports.KMS = KMS;
38
+ exports.KMS = KMS = __decorate([
39
+ (0, common_1.Injectable)(),
40
+ __param(0, (0, common_1.Inject)('CONNECTION_KMS')),
41
+ __metadata("design:paramtypes", [client_kms_1.KMSClient])
42
+ ], KMS);
43
+ //# sourceMappingURL=kms.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kms.service.js","sourceRoot":"","sources":["../../../../../src/external/aws/kms/kms.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,oDAM6B;AAKtB,IAAM,GAAG,GAAT,MAAM,GAAG;IACd,YAAuD,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAE5E,KAAK,CAAC,OAAO,CAAC,IAAiB;QAC7B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,KAAK;SACtB,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAiB;QAC7B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;YACjC,cAAc,EAAE,IAAI,CAAC,KAAK;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,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"}
@@ -0,0 +1,12 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export type S3Setup = {
3
+ region: string;
4
+ endpoint?: string;
5
+ credentials: {
6
+ accessKeyId: string;
7
+ secretAccessKey: string;
8
+ };
9
+ };
10
+ export declare class S3Module {
11
+ static forRoot(params: S3Setup): DynamicModule;
12
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.S3Module = void 0;
4
+ const client_s3_1 = require("@aws-sdk/client-s3");
5
+ const S3Provider = (params) => {
6
+ return {
7
+ provide: 'CONNECTION_S3',
8
+ useFactory: () => {
9
+ return new client_s3_1.S3Client({
10
+ credentials: {
11
+ accessKeyId: params.credentials.accessKeyId,
12
+ secretAccessKey: params.credentials.secretAccessKey,
13
+ },
14
+ ...(params.endpoint && { endpoint: params.endpoint }),
15
+ region: params.region,
16
+ });
17
+ },
18
+ };
19
+ };
20
+ class S3Module {
21
+ static forRoot(params) {
22
+ const s3Provider = S3Provider(params);
23
+ return {
24
+ module: S3Module,
25
+ providers: [s3Provider],
26
+ exports: [s3Provider],
27
+ };
28
+ }
29
+ }
30
+ exports.S3Module = S3Module;
31
+ //# sourceMappingURL=s3.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.provider.js","sourceRoot":"","sources":["../../../../../src/external/aws/s3/s3.provider.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAY9C,MAAM,UAAU,GAAG,CAAC,MAAe,EAAE,EAAE;IACrC,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,GAAG,EAAE;YACf,OAAO,IAAI,oBAAQ,CAAC;gBAClB,WAAW,EAAE;oBACX,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBAC3C,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;iBACpD;gBACD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAa,QAAQ;IACnB,MAAM,CAAC,OAAO,CAAC,MAAe;QAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAEtC,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,CAAC,UAAU,CAAC;YACvB,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB,CAAC;IACJ,CAAC;CACF;AAVD,4BAUC"}
@@ -0,0 +1,14 @@
1
+ import { CopyObjectCommandOutput, DeleteObjectCommandOutput, DeleteObjectsOutput, GetObjectCommandOutput, ListObjectsV2CommandOutput, PutObjectCommandOutput, S3Client } from '@aws-sdk/client-s3';
2
+ import { IStorage } from '../../../lib/storage/interfaces/storage.interface';
3
+ import { CopyFile, DeleteFile, DeleteFiles, GetFile, ListFiles, UploadFile } from '../../../lib/storage/types/storage.type';
4
+ export declare class S3 implements IStorage {
5
+ private readonly client;
6
+ constructor(client: S3Client);
7
+ uploadFile(file: UploadFile): Promise<PutObjectCommandOutput>;
8
+ generateSignUrlFile(file: GetFile): Promise<string>;
9
+ getFile(file: GetFile): Promise<GetObjectCommandOutput>;
10
+ listFiles(data: ListFiles): Promise<ListObjectsV2CommandOutput>;
11
+ deleteFile(file: DeleteFile): Promise<DeleteObjectCommandOutput>;
12
+ deleteFiles(data: DeleteFiles): Promise<DeleteObjectsOutput>;
13
+ copyFile(data: CopyFile): Promise<CopyObjectCommandOutput>;
14
+ }
@@ -0,0 +1,88 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.S3 = void 0;
16
+ const client_s3_1 = require("@aws-sdk/client-s3");
17
+ const common_1 = require("@nestjs/common");
18
+ const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
19
+ let S3 = class S3 {
20
+ constructor(client) {
21
+ this.client = client;
22
+ }
23
+ async uploadFile(file) {
24
+ const command = new client_s3_1.PutObjectCommand({
25
+ Bucket: file.bucket,
26
+ Key: `${file.path}/${file.nameFile}`,
27
+ Body: file.file,
28
+ });
29
+ const response = await this.client.send(command);
30
+ return response;
31
+ }
32
+ async generateSignUrlFile(file) {
33
+ const params = {
34
+ Bucket: file.bucket,
35
+ Key: file.key,
36
+ ResponseContentType: file.responseContentType,
37
+ ResponseContentDisposition: file.responseContentDisposition,
38
+ };
39
+ const command = new client_s3_1.GetObjectCommand(params);
40
+ const url = await (0, s3_request_presigner_1.getSignedUrl)(this.client, command, { expiresIn: 3600 });
41
+ return url;
42
+ }
43
+ async getFile(file) {
44
+ const params = {
45
+ Bucket: file.bucket,
46
+ Key: file.key,
47
+ ResponseContentType: file.responseContentType,
48
+ };
49
+ const command = new client_s3_1.GetObjectCommand(params);
50
+ const response = await this.client.send(command);
51
+ return response;
52
+ }
53
+ async listFiles(data) {
54
+ const params = { Bucket: data.bucket, Prefix: data.folder };
55
+ const command = new client_s3_1.ListObjectsV2Command(params);
56
+ const response = await this.client.send(command);
57
+ return response;
58
+ }
59
+ async deleteFile(file) {
60
+ const params = {
61
+ Bucket: file.bucket,
62
+ Key: file.key,
63
+ };
64
+ const command = new client_s3_1.DeleteObjectCommand(params);
65
+ return await this.client.send(command);
66
+ }
67
+ async deleteFiles(data) {
68
+ const params = { Bucket: data.bucket, Delete: { Objects: data.objects } };
69
+ const command = new client_s3_1.DeleteObjectsCommand(params);
70
+ return await this.client.send(command);
71
+ }
72
+ async copyFile(data) {
73
+ const params = {
74
+ Bucket: data.bucket,
75
+ CopySource: data.copySource,
76
+ Key: data.key,
77
+ };
78
+ const command = new client_s3_1.CopyObjectCommand(params);
79
+ return await this.client.send(command);
80
+ }
81
+ };
82
+ exports.S3 = S3;
83
+ exports.S3 = S3 = __decorate([
84
+ (0, common_1.Injectable)(),
85
+ __param(0, (0, common_1.Inject)('CONNECTION_S3')),
86
+ __metadata("design:paramtypes", [client_s3_1.S3Client])
87
+ ], S3);
88
+ //# sourceMappingURL=s3.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.service.js","sourceRoot":"","sources":["../../../../../src/external/aws/s3/s3.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export type SESSetup = {
3
+ region: string;
4
+ endpoint?: string;
5
+ credentials: {
6
+ accessKeyId: string;
7
+ secretAccessKey: string;
8
+ };
9
+ };
10
+ export declare class SESModule {
11
+ static forRoot(params: SESSetup): DynamicModule;
12
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SESModule = void 0;
4
+ const client_ses_1 = require("@aws-sdk/client-ses");
5
+ const SESProvider = (params) => {
6
+ return {
7
+ provide: 'CONNECTION_SES',
8
+ useFactory: () => {
9
+ return new client_ses_1.SESClient({
10
+ credentials: {
11
+ accessKeyId: params.credentials.accessKeyId,
12
+ secretAccessKey: params.credentials.secretAccessKey,
13
+ },
14
+ ...(params.endpoint && { endpoint: params.endpoint }),
15
+ region: params.region,
16
+ });
17
+ },
18
+ };
19
+ };
20
+ class SESModule {
21
+ static forRoot(params) {
22
+ const sesProvider = SESProvider(params);
23
+ return {
24
+ module: SESModule,
25
+ providers: [sesProvider],
26
+ exports: [sesProvider],
27
+ };
28
+ }
29
+ }
30
+ exports.SESModule = SESModule;
31
+ //# sourceMappingURL=ses.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ses.provider.js","sourceRoot":"","sources":["../../../../../src/external/aws/ses/ses.provider.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAYhD,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;oBACX,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBAC3C,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;iBACpD;gBACD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,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"}
@@ -0,0 +1,9 @@
1
+ import { SendEmailCommandOutput, SendRawEmailCommandOutput, SESClient } from '@aws-sdk/client-ses';
2
+ import { IEmail } from 'src/lib/email/interfaces/email.interface';
3
+ import { SendMail, SendRawMail } from 'src/lib/email/types/email.type';
4
+ export declare class SES implements IEmail {
5
+ private readonly client;
6
+ constructor(client: SESClient);
7
+ sendRawEmail(data: SendRawMail): Promise<SendRawEmailCommandOutput>;
8
+ sendEmail(data: SendMail): Promise<SendEmailCommandOutput>;
9
+ }
@@ -0,0 +1,60 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SES = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const client_ses_1 = require("@aws-sdk/client-ses");
18
+ let SES = class SES {
19
+ constructor(client) {
20
+ this.client = client;
21
+ }
22
+ async sendRawEmail(data) {
23
+ const resEncodedMessage = new TextEncoder().encode(data.message);
24
+ const params = {
25
+ Source: data.from,
26
+ Destination: data.to,
27
+ RawMessage: {
28
+ Data: resEncodedMessage,
29
+ },
30
+ };
31
+ const command = new client_ses_1.SendRawEmailCommand(params);
32
+ return await this.client.send(command);
33
+ }
34
+ async sendEmail(data) {
35
+ const command = new client_ses_1.SendEmailCommand({
36
+ Source: data.source,
37
+ Destination: { ToAddresses: data.destination },
38
+ Message: {
39
+ Body: {
40
+ Html: {
41
+ Charset: 'UTF-8',
42
+ Data: data.message,
43
+ },
44
+ },
45
+ Subject: {
46
+ Charset: 'UTF-8',
47
+ Data: data.subject,
48
+ },
49
+ },
50
+ });
51
+ return await this.client.send(command);
52
+ }
53
+ };
54
+ exports.SES = SES;
55
+ exports.SES = SES = __decorate([
56
+ (0, common_1.Injectable)(),
57
+ __param(0, (0, common_1.Inject)('CONNECTION_SES')),
58
+ __metadata("design:paramtypes", [client_ses_1.SESClient])
59
+ ], SES);
60
+ //# sourceMappingURL=ses.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ses.service.js","sourceRoot":"","sources":["../../../../../src/external/aws/ses/ses.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,oDAM6B;AAKtB,IAAM,GAAG,GAAT,MAAM,GAAG;IACd,YAAuD,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAE5E,KAAK,CAAC,YAAY,CAAC,IAAiB;QAClC,MAAM,iBAAiB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,WAAW,EAAE,IAAI,CAAC,EAAE;YACpB,UAAU,EAAE;gBACV,IAAI,EAAE,iBAAiB;aACxB;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,gCAAmB,CAAC,MAAM,CAAC,CAAC;QAEhD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAc;QAC5B,MAAM,OAAO,GAAG,IAAI,6BAAgB,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC9C,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,IAAI,CAAC,OAAO;qBACnB;iBACF;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI,CAAC,OAAO;iBACnB;aACF;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AAvCY,kBAAG;cAAH,GAAG;IADf,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;qCAA0B,sBAAS;GAD7D,GAAG,CAuCf"}
@@ -0,0 +1,12 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export type SNSSetup = {
3
+ region: string;
4
+ endpoint?: string;
5
+ credentials: {
6
+ accessKeyId: string;
7
+ secretAccessKey: string;
8
+ };
9
+ };
10
+ export declare class SNSModule {
11
+ static forRoot(params: SNSSetup): DynamicModule;
12
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SNSModule = void 0;
4
+ const client_sns_1 = require("@aws-sdk/client-sns");
5
+ const SNSProvider = (params) => {
6
+ return {
7
+ provide: 'CONNECTION_SNS',
8
+ useFactory: () => {
9
+ return new client_sns_1.SNSClient({
10
+ credentials: {
11
+ accessKeyId: params.credentials.accessKeyId,
12
+ secretAccessKey: params.credentials.secretAccessKey,
13
+ },
14
+ ...(params.endpoint && { endpoint: params.endpoint }),
15
+ region: params.region,
16
+ });
17
+ },
18
+ };
19
+ };
20
+ class SNSModule {
21
+ static forRoot(params) {
22
+ const snsProvider = SNSProvider(params);
23
+ return {
24
+ module: SNSModule,
25
+ providers: [snsProvider],
26
+ exports: [snsProvider],
27
+ };
28
+ }
29
+ }
30
+ exports.SNSModule = SNSModule;
31
+ //# sourceMappingURL=sns.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sns.provider.js","sourceRoot":"","sources":["../../../../../src/external/aws/sns/sns.provider.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAYhD,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;oBACX,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBAC3C,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;iBACpD;gBACD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,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"}
@@ -0,0 +1,9 @@
1
+ import { PublishCommandOutput, SNSClient } from '@aws-sdk/client-sns';
2
+ import { IEvent } from 'src/lib/events/interfaces/event.interface';
3
+ import { EventData, EventSmsData } from 'src/lib/events/types/event.type';
4
+ export declare class Sns implements IEvent {
5
+ private readonly client;
6
+ constructor(client: SNSClient);
7
+ publishSns(event: EventData): Promise<PublishCommandOutput>;
8
+ publishSms(event: EventSmsData): Promise<PublishCommandOutput>;
9
+ }