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.
- package/README.md +106 -12
- package/dist/app.module.js +36 -0
- package/dist/app.module.js.map +1 -1
- package/dist/app.service.d.ts +5 -1
- package/dist/app.service.js +20 -2
- package/dist/app.service.js.map +1 -1
- package/dist/external/aws/kms/kms.provider.d.ts +12 -0
- package/dist/external/aws/kms/kms.provider.js +31 -0
- package/dist/external/aws/kms/kms.provider.js.map +1 -0
- package/dist/external/aws/kms/kms.service.d.ts +9 -0
- package/dist/external/aws/{sqs.service.js → kms/kms.service.js} +20 -30
- package/dist/external/aws/kms/kms.service.js.map +1 -0
- package/dist/external/aws/{sqs.provider.d.ts → s3/s3.provider.d.ts} +4 -4
- package/dist/external/aws/s3/s3.provider.js +31 -0
- package/dist/external/aws/s3/s3.provider.js.map +1 -0
- package/dist/external/aws/s3/s3.service.d.ts +12 -0
- package/dist/external/aws/s3/s3.service.js +73 -0
- package/dist/external/aws/s3/s3.service.js.map +1 -0
- package/dist/external/aws/ses/ses.provider.d.ts +12 -0
- package/dist/external/aws/ses/ses.provider.js +31 -0
- package/dist/external/aws/ses/ses.provider.js.map +1 -0
- package/dist/external/aws/ses/ses.service.d.ts +9 -0
- package/dist/external/aws/ses/ses.service.js +60 -0
- package/dist/external/aws/ses/ses.service.js.map +1 -0
- package/dist/external/aws/sns/sns.provider.d.ts +12 -0
- package/dist/external/aws/sns/sns.provider.js +31 -0
- package/dist/external/aws/sns/sns.provider.js.map +1 -0
- package/dist/external/aws/sns/sns.service.d.ts +9 -0
- package/dist/external/aws/sns/sns.service.js +43 -0
- package/dist/external/aws/sns/sns.service.js.map +1 -0
- package/dist/lib/crypto/crypto.d.ts +9 -0
- package/dist/lib/crypto/crypto.js +35 -0
- package/dist/lib/crypto/crypto.js.map +1 -0
- package/dist/lib/crypto/crypto.module.d.ts +5 -0
- package/dist/lib/crypto/crypto.module.js +30 -0
- package/dist/lib/crypto/crypto.module.js.map +1 -0
- package/dist/lib/crypto/interfaces/crypto.interface.d.ts +7 -0
- package/dist/lib/crypto/interfaces/crypto.interface.js +5 -0
- package/dist/lib/crypto/interfaces/crypto.interface.js.map +1 -0
- package/dist/lib/crypto/types/crypto.type.d.ts +9 -0
- package/dist/lib/crypto/types/crypto.type.js +3 -0
- package/dist/lib/crypto/types/crypto.type.js.map +1 -0
- package/dist/lib/email/email.d.ts +9 -0
- package/dist/lib/email/email.js +35 -0
- package/dist/lib/email/email.js.map +1 -0
- package/dist/lib/email/email.module.d.ts +5 -0
- package/dist/lib/email/email.module.js +30 -0
- package/dist/lib/email/email.module.js.map +1 -0
- package/dist/lib/email/interfaces/email.interface.d.ts +7 -0
- package/dist/lib/email/interfaces/email.interface.js +5 -0
- package/dist/lib/email/interfaces/email.interface.js.map +1 -0
- package/dist/lib/email/types/email.type.d.ts +11 -0
- package/dist/lib/email/types/email.type.js +3 -0
- package/dist/lib/email/types/email.type.js.map +1 -0
- package/dist/lib/events/event.module.d.ts +5 -0
- package/dist/lib/events/event.module.js +30 -0
- package/dist/lib/events/event.module.js.map +1 -0
- package/dist/lib/events/events.d.ts +7 -0
- package/dist/lib/events/events.js +19 -1
- package/dist/lib/events/events.js.map +1 -1
- package/dist/lib/events/interfaces/event.interface.d.ts +7 -0
- package/dist/lib/events/interfaces/event.interface.js +5 -0
- package/dist/lib/events/interfaces/event.interface.js.map +1 -0
- package/dist/lib/events/types/event.type.d.ts +8 -0
- package/dist/lib/events/types/event.type.js +3 -0
- package/dist/lib/events/types/event.type.js.map +1 -0
- package/dist/lib/storage/interfaces/storage.interface.d.ts +10 -0
- package/dist/lib/storage/interfaces/storage.interface.js +5 -0
- package/dist/lib/storage/interfaces/storage.interface.js.map +1 -0
- package/dist/lib/storage/storage.d.ts +10 -0
- package/dist/lib/storage/storage.js +28 -1
- package/dist/lib/storage/storage.js.map +1 -1
- package/dist/lib/storage/storage.module.d.ts +5 -0
- package/dist/lib/storage/storage.module.js +30 -0
- package/dist/lib/storage/storage.module.js.map +1 -0
- package/dist/lib/storage/types/storage.type.d.ts +22 -0
- package/dist/lib/storage/types/storage.type.js +3 -0
- package/dist/lib/storage/types/storage.type.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -2
- package/queue.bash +3 -3
- package/src/app.module.ts +37 -0
- package/src/app.service.ts +24 -1
- package/src/external/aws/kms/kms.provider.ts +39 -0
- package/src/external/aws/kms/kms.service.ts +33 -0
- package/src/external/aws/s3/s3.provider.ts +39 -0
- package/src/external/aws/s3/s3.service.ts +86 -0
- package/src/external/aws/ses/ses.provider.ts +39 -0
- package/src/external/aws/ses/ses.service.ts +52 -0
- package/src/external/aws/sns/sns.provider.ts +39 -0
- package/src/external/aws/sns/sns.service.ts +31 -0
- package/src/lib/crypto/crypto.module.ts +17 -0
- package/src/lib/crypto/crypto.ts +20 -0
- package/src/lib/crypto/interfaces/crypto.interface.ts +12 -0
- package/src/lib/crypto/types/crypto.type.ts +3 -0
- package/src/lib/email/email.module.ts +17 -0
- package/src/lib/email/email.ts +20 -0
- package/src/lib/email/interfaces/email.interface.ts +12 -0
- package/src/lib/email/types/email.type.ts +12 -0
- package/src/lib/events/event.module.ts +17 -0
- package/src/lib/events/events.ts +15 -2
- package/src/lib/events/interfaces/event.interface.ts +9 -0
- package/src/lib/events/types/event.type.ts +9 -0
- package/src/lib/storage/interfaces/storage.interface.ts +22 -0
- package/src/lib/storage/storage.module.ts +17 -0
- package/src/lib/storage/storage.ts +37 -2
- package/src/lib/storage/types/storage.type.ts +24 -0
- package/dist/external/aws/sqs.provider.js +0 -31
- package/dist/external/aws/sqs.provider.js.map +0 -1
- package/dist/external/aws/sqs.service.d.ts +0 -17
- package/dist/external/aws/sqs.service.js.map +0 -1
|
@@ -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"}
|