prime-sdk 1.0.0 → 1.1.2

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 (111) hide show
  1. package/README.md +106 -12
  2. package/dist/app.module.js +36 -0
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/app.service.d.ts +5 -1
  5. package/dist/app.service.js +20 -2
  6. package/dist/app.service.js.map +1 -1
  7. package/dist/external/aws/kms/kms.provider.d.ts +12 -0
  8. package/dist/external/aws/kms/kms.provider.js +31 -0
  9. package/dist/external/aws/kms/kms.provider.js.map +1 -0
  10. package/dist/external/aws/kms/kms.service.d.ts +9 -0
  11. package/dist/external/aws/{sqs.service.js → kms/kms.service.js} +20 -30
  12. package/dist/external/aws/kms/kms.service.js.map +1 -0
  13. package/dist/external/aws/{sqs.provider.d.ts → s3/s3.provider.d.ts} +4 -4
  14. package/dist/external/aws/s3/s3.provider.js +31 -0
  15. package/dist/external/aws/s3/s3.provider.js.map +1 -0
  16. package/dist/external/aws/s3/s3.service.d.ts +12 -0
  17. package/dist/external/aws/s3/s3.service.js +73 -0
  18. package/dist/external/aws/s3/s3.service.js.map +1 -0
  19. package/dist/external/aws/ses/ses.provider.d.ts +12 -0
  20. package/dist/external/aws/ses/ses.provider.js +31 -0
  21. package/dist/external/aws/ses/ses.provider.js.map +1 -0
  22. package/dist/external/aws/ses/ses.service.d.ts +9 -0
  23. package/dist/external/aws/ses/ses.service.js +60 -0
  24. package/dist/external/aws/ses/ses.service.js.map +1 -0
  25. package/dist/external/aws/sns/sns.provider.d.ts +12 -0
  26. package/dist/external/aws/sns/sns.provider.js +31 -0
  27. package/dist/external/aws/sns/sns.provider.js.map +1 -0
  28. package/dist/external/aws/sns/sns.service.d.ts +9 -0
  29. package/dist/external/aws/sns/sns.service.js +43 -0
  30. package/dist/external/aws/sns/sns.service.js.map +1 -0
  31. package/dist/lib/crypto/crypto.d.ts +9 -0
  32. package/dist/lib/crypto/crypto.js +35 -0
  33. package/dist/lib/crypto/crypto.js.map +1 -0
  34. package/dist/lib/crypto/crypto.module.d.ts +5 -0
  35. package/dist/lib/crypto/crypto.module.js +30 -0
  36. package/dist/lib/crypto/crypto.module.js.map +1 -0
  37. package/dist/lib/crypto/interfaces/crypto.interface.d.ts +7 -0
  38. package/dist/lib/crypto/interfaces/crypto.interface.js +5 -0
  39. package/dist/lib/crypto/interfaces/crypto.interface.js.map +1 -0
  40. package/dist/lib/crypto/types/crypto.type.d.ts +9 -0
  41. package/dist/lib/crypto/types/crypto.type.js +3 -0
  42. package/dist/lib/crypto/types/crypto.type.js.map +1 -0
  43. package/dist/lib/email/email.d.ts +9 -0
  44. package/dist/lib/email/email.js +35 -0
  45. package/dist/lib/email/email.js.map +1 -0
  46. package/dist/lib/email/email.module.d.ts +5 -0
  47. package/dist/lib/email/email.module.js +30 -0
  48. package/dist/lib/email/email.module.js.map +1 -0
  49. package/dist/lib/email/interfaces/email.interface.d.ts +7 -0
  50. package/dist/lib/email/interfaces/email.interface.js +5 -0
  51. package/dist/lib/email/interfaces/email.interface.js.map +1 -0
  52. package/dist/lib/email/types/email.type.d.ts +11 -0
  53. package/dist/lib/email/types/email.type.js +3 -0
  54. package/dist/lib/email/types/email.type.js.map +1 -0
  55. package/dist/lib/events/event.module.d.ts +5 -0
  56. package/dist/lib/events/event.module.js +30 -0
  57. package/dist/lib/events/event.module.js.map +1 -0
  58. package/dist/lib/events/events.d.ts +7 -0
  59. package/dist/lib/events/events.js +19 -1
  60. package/dist/lib/events/events.js.map +1 -1
  61. package/dist/lib/events/interfaces/event.interface.d.ts +7 -0
  62. package/dist/lib/events/interfaces/event.interface.js +5 -0
  63. package/dist/lib/events/interfaces/event.interface.js.map +1 -0
  64. package/dist/lib/events/types/event.type.d.ts +8 -0
  65. package/dist/lib/events/types/event.type.js +3 -0
  66. package/dist/lib/events/types/event.type.js.map +1 -0
  67. package/dist/lib/storage/interfaces/storage.interface.d.ts +10 -0
  68. package/dist/lib/storage/interfaces/storage.interface.js +5 -0
  69. package/dist/lib/storage/interfaces/storage.interface.js.map +1 -0
  70. package/dist/lib/storage/storage.d.ts +10 -0
  71. package/dist/lib/storage/storage.js +28 -1
  72. package/dist/lib/storage/storage.js.map +1 -1
  73. package/dist/lib/storage/storage.module.d.ts +5 -0
  74. package/dist/lib/storage/storage.module.js +30 -0
  75. package/dist/lib/storage/storage.module.js.map +1 -0
  76. package/dist/lib/storage/types/storage.type.d.ts +22 -0
  77. package/dist/lib/storage/types/storage.type.js +3 -0
  78. package/dist/lib/storage/types/storage.type.js.map +1 -0
  79. package/dist/tsconfig.build.tsbuildinfo +1 -1
  80. package/package.json +7 -2
  81. package/queue.bash +3 -3
  82. package/src/app.module.ts +37 -0
  83. package/src/app.service.ts +24 -1
  84. package/src/external/aws/kms/kms.provider.ts +39 -0
  85. package/src/external/aws/kms/kms.service.ts +33 -0
  86. package/src/external/aws/s3/s3.provider.ts +39 -0
  87. package/src/external/aws/s3/s3.service.ts +86 -0
  88. package/src/external/aws/ses/ses.provider.ts +39 -0
  89. package/src/external/aws/ses/ses.service.ts +52 -0
  90. package/src/external/aws/sns/sns.provider.ts +39 -0
  91. package/src/external/aws/sns/sns.service.ts +31 -0
  92. package/src/lib/crypto/crypto.module.ts +17 -0
  93. package/src/lib/crypto/crypto.ts +20 -0
  94. package/src/lib/crypto/interfaces/crypto.interface.ts +12 -0
  95. package/src/lib/crypto/types/crypto.type.ts +3 -0
  96. package/src/lib/email/email.module.ts +17 -0
  97. package/src/lib/email/email.ts +20 -0
  98. package/src/lib/email/interfaces/email.interface.ts +12 -0
  99. package/src/lib/email/types/email.type.ts +12 -0
  100. package/src/lib/events/event.module.ts +17 -0
  101. package/src/lib/events/events.ts +15 -2
  102. package/src/lib/events/interfaces/event.interface.ts +9 -0
  103. package/src/lib/events/types/event.type.ts +9 -0
  104. package/src/lib/storage/interfaces/storage.interface.ts +22 -0
  105. package/src/lib/storage/storage.module.ts +17 -0
  106. package/src/lib/storage/storage.ts +37 -2
  107. package/src/lib/storage/types/storage.type.ts +24 -0
  108. package/dist/external/aws/sqs.provider.js +0 -31
  109. package/dist/external/aws/sqs.provider.js.map +0 -1
  110. package/dist/external/aws/sqs.service.d.ts +0 -17
  111. package/dist/external/aws/sqs.service.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ export type EventData = {
2
+ topic: string;
3
+ message: string;
4
+ };
5
+
6
+ export type EventSmsData = {
7
+ phoneNumber: string;
8
+ message: string;
9
+ };
@@ -0,0 +1,22 @@
1
+ import {
2
+ DeleteObjectCommandOutput,
3
+ GetObjectCommandOutput,
4
+ ListObjectsV2CommandOutput,
5
+ PutObjectCommandOutput,
6
+ } from '@aws-sdk/client-s3';
7
+ import {
8
+ DeleteFile,
9
+ GetFile,
10
+ ListFiles,
11
+ UploadFile,
12
+ } from '../types/storage.type';
13
+
14
+ export interface IStorage {
15
+ uploadFile(file: UploadFile): Promise<PutObjectCommandOutput>;
16
+ generateSignUrlFile(file: GetFile): Promise<string>;
17
+ getFile(file: GetFile): Promise<GetObjectCommandOutput>;
18
+ listFiles(data: ListFiles): Promise<ListObjectsV2CommandOutput>;
19
+ deleteFile(file: DeleteFile): Promise<DeleteObjectCommandOutput>;
20
+ }
21
+
22
+ export const IStorage = Symbol('IStorage');
@@ -0,0 +1,17 @@
1
+ import { DynamicModule, Module } from '@nestjs/common';
2
+ import { S3Module, S3Setup } from '../../external/aws/s3/s3.provider';
3
+ import { S3 } from '../../external/aws/s3/s3.service';
4
+ import { IStorage } from './interfaces/storage.interface';
5
+ import { Storage } from './storage';
6
+
7
+ @Module({})
8
+ export class StorageModule {
9
+ static forRoot(params: S3Setup): DynamicModule {
10
+ return {
11
+ module: StorageModule,
12
+ imports: [S3Module.forRoot(params)],
13
+ providers: [Storage, { provide: IStorage, useClass: S3 }],
14
+ exports: [Storage, { provide: IStorage, useClass: S3 }],
15
+ };
16
+ }
17
+ }
@@ -1,4 +1,39 @@
1
- import { Injectable } from '@nestjs/common';
1
+ import { Inject, Injectable } from '@nestjs/common';
2
+ import { IStorage } from './interfaces/storage.interface';
3
+ import {
4
+ DeleteObjectCommandOutput,
5
+ GetObjectCommandOutput,
6
+ ListObjectsV2CommandOutput,
7
+ PutObjectCommandOutput,
8
+ } from '@aws-sdk/client-s3';
9
+ import {
10
+ DeleteFile,
11
+ GetFile,
12
+ ListFiles,
13
+ UploadFile,
14
+ } from './types/storage.type';
2
15
 
3
16
  @Injectable()
4
- export class Storage {}
17
+ export class Storage {
18
+ constructor(@Inject(IStorage) private readonly storage: IStorage) {}
19
+
20
+ async uploadFile(file: UploadFile): Promise<PutObjectCommandOutput> {
21
+ return this.storage.uploadFile(file);
22
+ }
23
+
24
+ async generateSignUrlFile(file: GetFile): Promise<string> {
25
+ return this.storage.generateSignUrlFile(file);
26
+ }
27
+
28
+ async getFile(file: GetFile): Promise<GetObjectCommandOutput> {
29
+ return this.storage.getFile(file);
30
+ }
31
+
32
+ async listFiles(data: ListFiles): Promise<ListObjectsV2CommandOutput> {
33
+ return this.storage.listFiles(data);
34
+ }
35
+
36
+ async deleteFile(data: DeleteFile): Promise<DeleteObjectCommandOutput> {
37
+ return this.storage.deleteFile(data);
38
+ }
39
+ }
@@ -0,0 +1,24 @@
1
+ import { Readable } from 'stream';
2
+
3
+ export type UploadFile = {
4
+ path: string;
5
+ nameFile: string;
6
+ file: string | Readable | Buffer;
7
+ bucket: string;
8
+ };
9
+
10
+ export type GetFile = {
11
+ bucket: string;
12
+ key: string;
13
+ responseContentType?: string;
14
+ };
15
+
16
+ export type ListFiles = {
17
+ bucket: string;
18
+ folder: string;
19
+ };
20
+
21
+ export type DeleteFile = {
22
+ bucket: string;
23
+ key: string;
24
+ };
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SqsModule = void 0;
4
- const client_sqs_1 = require("@aws-sdk/client-sqs");
5
- const SqsProvider = (params) => {
6
- return {
7
- provide: 'CONNECTION_SQS',
8
- useFactory: () => {
9
- return new client_sqs_1.SQSClient({
10
- region: params.region,
11
- endpoint: params.endpoint,
12
- credentials: {
13
- accessKeyId: params.credentials.accessKeyId,
14
- secretAccessKey: params.credentials.secretAccessKey,
15
- },
16
- });
17
- },
18
- };
19
- };
20
- class SqsModule {
21
- static forRoot(params) {
22
- const sqsProvider = SqsProvider(params);
23
- return {
24
- module: SqsModule,
25
- providers: [sqsProvider],
26
- exports: [sqsProvider],
27
- };
28
- }
29
- }
30
- exports.SqsModule = SqsModule;
31
- //# sourceMappingURL=sqs.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqs.provider.js","sourceRoot":"","sources":["../../../src/external/aws/sqs.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,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE;oBACX,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBAC3C,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;iBACpD;aACF,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,17 +0,0 @@
1
- import { DeleteMessageCommand, ReceiveMessageCommand, ReceiveMessageResult, SQSClient } from '@aws-sdk/client-sqs';
2
- import { IQueue } from 'src/lib/queue/interfaces/queue.interface';
3
- export declare class Sqs implements IQueue {
4
- private readonly client;
5
- private queueUrl;
6
- private bulk;
7
- private waitTimeSeconds;
8
- constructor(client: SQSClient);
9
- setup({ waitTimeSeconds, bulk, queueUrl }: {
10
- waitTimeSeconds: any;
11
- bulk: any;
12
- queueUrl: any;
13
- }): void;
14
- sendCommand(command: ReceiveMessageCommand | DeleteMessageCommand): Promise<unknown>;
15
- receiveMessages(): Promise<ReceiveMessageResult>;
16
- deleteMessage(receiptHandle: any): Promise<unknown>;
17
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqs.service.js","sourceRoot":"","sources":["../../../src/external/aws/sqs.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAK6B;AAC7B,2CAAoD;AAI7C,IAAM,GAAG,GAAT,MAAM,GAAG;IAKd,YAAuD,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAE5E,KAAK,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAqD;QAErD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,KAAK,GAAG;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,IAAI;YAC9B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,kCAAqB,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAyB,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAAa;QAC/B,MAAM,aAAa,GAAG,IAAI,iCAAoB,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,aAAa;SAC7B,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAvCY,kBAAG;cAAH,GAAG;IADf,IAAA,mBAAU,GAAE;IAME,WAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;qCAA0B,sBAAS;GAL7D,GAAG,CAuCf"}