prime-sdk 1.4.2 → 1.4.3
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/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +82 -0
- package/dist/app.module.js.map +1 -0
- package/dist/app.service.d.ts +15 -0
- package/dist/app.service.js +68 -0
- package/dist/app.service.js.map +1 -0
- 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/kms/kms.service.js +43 -0
- package/dist/external/aws/kms/kms.service.js.map +1 -0
- package/dist/external/aws/s3/s3.provider.d.ts +12 -0
- 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 +14 -0
- package/dist/external/aws/s3/s3.service.js +87 -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/external/aws/sqs/sqs.provider.d.ts +12 -0
- package/dist/external/aws/sqs/sqs.provider.js +31 -0
- package/dist/external/aws/sqs/sqs.provider.js.map +1 -0
- package/dist/external/aws/sqs/sqs.service.d.ts +17 -0
- package/dist/external/aws/sqs/sqs.service.js +53 -0
- package/dist/external/aws/sqs/sqs.service.js.map +1 -0
- package/dist/external/redis/interfaces/redis.interface.d.ts +7 -0
- package/dist/external/redis/interfaces/redis.interface.js +5 -0
- package/dist/external/redis/interfaces/redis.interface.js.map +1 -0
- package/dist/external/redis/redis.provider.d.ts +5 -0
- package/dist/external/redis/redis.provider.js +46 -0
- package/dist/external/redis/redis.provider.js.map +1 -0
- package/dist/external/redis/redis.service.d.ts +10 -0
- package/dist/external/redis/redis.service.js +45 -0
- package/dist/external/redis/redis.service.js.map +1 -0
- package/dist/external/redis/types/ioredis.types.d.ts +19 -0
- package/dist/external/redis/types/ioredis.types.js +9 -0
- package/dist/external/redis/types/ioredis.types.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/cache/cache.d.ts +10 -0
- package/dist/lib/cache/cache.js +38 -0
- package/dist/lib/cache/cache.js.map +1 -0
- package/dist/lib/cache/cache.module.d.ts +5 -0
- package/dist/lib/cache/cache.module.js +37 -0
- package/dist/lib/cache/cache.module.js.map +1 -0
- package/dist/lib/cache/interfaces/cache.interface.d.ts +7 -0
- package/dist/lib/cache/interfaces/cache.interface.js +5 -0
- package/dist/lib/cache/interfaces/cache.interface.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 +9 -0
- package/dist/lib/events/events.js +35 -0
- package/dist/lib/events/events.js.map +1 -0
- 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/queue/interfaces/consumer.interface.d.ts +6 -0
- package/dist/lib/queue/interfaces/consumer.interface.js +5 -0
- package/dist/lib/queue/interfaces/consumer.interface.js.map +1 -0
- package/dist/lib/queue/interfaces/queue.interface.d.ts +11 -0
- package/dist/lib/queue/interfaces/queue.interface.js +5 -0
- package/dist/lib/queue/interfaces/queue.interface.js.map +1 -0
- package/dist/lib/queue/queue.d.ts +16 -0
- package/dist/lib/queue/queue.js +77 -0
- package/dist/lib/queue/queue.js.map +1 -0
- package/dist/lib/queue/queue.module.d.ts +5 -0
- package/dist/lib/queue/queue.module.js +30 -0
- package/dist/lib/queue/queue.module.js.map +1 -0
- package/dist/lib/queue/types/queue.type.d.ts +7 -0
- package/dist/lib/queue/types/queue.type.js +3 -0
- package/dist/lib/queue/types/queue.type.js.map +1 -0
- package/dist/lib/storage/interfaces/storage.interface.d.ts +12 -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 +14 -0
- package/dist/lib/storage/storage.js +50 -0
- package/dist/lib/storage/storage.js.map +1 -0
- 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 +34 -0
- package/dist/lib/storage/types/storage.type.js +3 -0
- package/dist/lib/storage/types/storage.type.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +10 -0
- package/dist/main.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +1 -1
|
@@ -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,87 @@
|
|
|
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
|
+
};
|
|
38
|
+
const command = new client_s3_1.GetObjectCommand(params);
|
|
39
|
+
const url = await (0, s3_request_presigner_1.getSignedUrl)(this.client, command, { expiresIn: 3600 });
|
|
40
|
+
return url;
|
|
41
|
+
}
|
|
42
|
+
async getFile(file) {
|
|
43
|
+
const params = {
|
|
44
|
+
Bucket: file.bucket,
|
|
45
|
+
Key: file.key,
|
|
46
|
+
ResponseContentType: file.responseContentType,
|
|
47
|
+
};
|
|
48
|
+
const command = new client_s3_1.GetObjectCommand(params);
|
|
49
|
+
const response = await this.client.send(command);
|
|
50
|
+
return response;
|
|
51
|
+
}
|
|
52
|
+
async listFiles(data) {
|
|
53
|
+
const params = { Bucket: data.bucket, Prefix: data.folder };
|
|
54
|
+
const command = new client_s3_1.ListObjectsV2Command(params);
|
|
55
|
+
const response = await this.client.send(command);
|
|
56
|
+
return response;
|
|
57
|
+
}
|
|
58
|
+
async deleteFile(file) {
|
|
59
|
+
const params = {
|
|
60
|
+
Bucket: file.bucket,
|
|
61
|
+
Key: file.key,
|
|
62
|
+
};
|
|
63
|
+
const command = new client_s3_1.DeleteObjectCommand(params);
|
|
64
|
+
return await this.client.send(command);
|
|
65
|
+
}
|
|
66
|
+
async deleteFiles(data) {
|
|
67
|
+
const params = { Bucket: data.bucket, Delete: { Objects: data.objects } };
|
|
68
|
+
const command = new client_s3_1.DeleteObjectsCommand(params);
|
|
69
|
+
return await this.client.send(command);
|
|
70
|
+
}
|
|
71
|
+
async copyFile(data) {
|
|
72
|
+
const params = {
|
|
73
|
+
Bucket: data.bucket,
|
|
74
|
+
CopySource: data.copySource,
|
|
75
|
+
Key: data.key,
|
|
76
|
+
};
|
|
77
|
+
const command = new client_s3_1.CopyObjectCommand(params);
|
|
78
|
+
return await this.client.send(command);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
exports.S3 = S3;
|
|
82
|
+
exports.S3 = S3 = __decorate([
|
|
83
|
+
(0, common_1.Injectable)(),
|
|
84
|
+
__param(0, (0, common_1.Inject)('CONNECTION_S3')),
|
|
85
|
+
__metadata("design:paramtypes", [client_s3_1.S3Client])
|
|
86
|
+
], S3);
|
|
87
|
+
//# 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
|
+
}
|