@trunkrs/common 1.12.5 → 3.0.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.
- package/package.json +33 -6
- package/providers/email.d.ts +1 -0
- package/providers/email.js +6 -5
- package/providers/email.js.map +1 -1
- package/services/aws/LambdaClient/LambdaInvocationFailedError.d.ts +1 -1
- package/services/aws/LambdaClient/LambdaInvocationFailedError.js +3 -3
- package/services/aws/LambdaClient/LambdaInvocationFailedError.js.map +1 -1
- package/services/aws/LambdaClient/index.d.ts +3 -2
- package/services/aws/LambdaClient/index.js +6 -4
- package/services/aws/LambdaClient/index.js.map +1 -1
- package/services/aws/SecretsClient.js +7 -13
- package/services/aws/SecretsClient.js.map +1 -1
- package/services/aws/dynamodb/BaseDynamoDataStorage.d.ts +6 -4
- package/services/aws/dynamodb/BaseDynamoDataStorage.js +55 -42
- package/services/aws/dynamodb/BaseDynamoDataStorage.js.map +1 -1
- package/services/aws/dynamodb/DynamoDataStorage.d.ts +8 -6
- package/services/aws/dynamodb/DynamoDataStorage.js +50 -40
- package/services/aws/dynamodb/DynamoDataStorage.js.map +1 -1
- package/services/aws/dynamodb/DynamoIndexDataStorage.d.ts +5 -2
- package/services/aws/dynamodb/DynamoIndexDataStorage.js +27 -17
- package/services/aws/dynamodb/DynamoIndexDataStorage.js.map +1 -1
- package/services/aws/dynamodb/interfaces/QueryableDataStorage.d.ts +5 -1
- package/services/aws/dynamodb/types/DeleteRequest.d.ts +4 -0
- package/services/aws/dynamodb/types/DeleteRequest.js +3 -0
- package/services/aws/dynamodb/types/DeleteRequest.js.map +1 -0
- package/services/aws/dynamodb/types/PutRequest.d.ts +4 -0
- package/services/aws/dynamodb/types/PutRequest.js +3 -0
- package/services/aws/dynamodb/types/PutRequest.js.map +1 -0
- package/services/aws/dynamodb/types/WriteRequest.d.ts +7 -0
- package/services/aws/dynamodb/types/WriteRequest.js +3 -0
- package/services/aws/dynamodb/types/WriteRequest.js.map +1 -0
- package/services/aws/dynamodb/utils/query/QueryBuilder.d.ts +3 -3
- package/services/aws/dynamodb/utils/query/QueryBuilder.js.map +1 -1
- package/services/aws/dynamodb/utils/query/QueryParameters.d.ts +0 -3
- package/services/email/SESTemplateClient.d.ts +2 -2
- package/services/email/SESTemplateClient.js +5 -3
- package/services/email/SESTemplateClient.js.map +1 -1
- package/services/email/__tests__/SESTemplateClient.spec.js +15 -13
- package/services/email/__tests__/SESTemplateClient.spec.js.map +1 -1
- package/services/queue/EventBridgeClient.js +8 -14
- package/services/queue/EventBridgeClient.js.map +1 -1
- package/services/queue/KinesisClient.d.ts +2 -2
- package/services/queue/KinesisClient.js +9 -10
- package/services/queue/KinesisClient.js.map +1 -1
- package/services/queue/SNSQueueClient.js +8 -20
- package/services/queue/SNSQueueClient.js.map +1 -1
- package/services/queue/SQSQueueClient.js +7 -11
- package/services/queue/SQSQueueClient.js.map +1 -1
- package/services/state-machine/StepFunctionsClient.js +5 -10
- package/services/state-machine/StepFunctionsClient.js.map +1 -1
- package/utils/caching/S3Cache.js +26 -31
- package/utils/caching/S3Cache.js.map +1 -1
- package/utils/caching/SecretCache.js +16 -22
- package/utils/caching/SecretCache.js.map +1 -1
- package/utils/handlers/QueueHandlerBuilder/extractors/DynamoStreamExtractor.d.ts +2 -1
- package/utils/handlers/QueueHandlerBuilder/extractors/DynamoStreamExtractor.js +2 -2
- package/utils/handlers/QueueHandlerBuilder/extractors/DynamoStreamExtractor.js.map +1 -1
- package/utils/tracing.d.ts +1 -1
- package/utils/tracing.js +11 -15
- package/utils/tracing.js.map +1 -1
- package/utils/getAWS.d.ts +0 -3
- package/utils/getAWS.js +0 -15
- package/utils/getAWS.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamoDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoDataStorage.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"DynamoDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoDataStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,14 @@ import BaseDynamoDataStorage from './BaseDynamoDataStorage';
|
|
|
2
2
|
import { QueryParameters } from './utils';
|
|
3
3
|
import QueryableDataStorage from './interfaces/QueryableDataStorage';
|
|
4
4
|
import PaginatedFindResult from './interfaces/PaginatedFindResult';
|
|
5
|
+
declare type NewType<TResultEntity> = TResultEntity;
|
|
5
6
|
declare abstract class DynamoIndexDataStorage<TEntity> extends BaseDynamoDataStorage<TEntity> implements QueryableDataStorage<TEntity> {
|
|
6
7
|
protected readonly indexName: string;
|
|
7
8
|
protected constructor(tableName: string, indexName: string);
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
query<TResultEntity = TEntity>(query: QueryParameters<TEntity>): Promise<TResultEntity[]>;
|
|
10
|
+
queryForPage<TResultEntity = TEntity>(query: QueryParameters<TEntity>, lastEvaluatedKey?: string): Promise<PaginatedFindResult<TResultEntity>>;
|
|
11
|
+
scan<TResultEntity = TEntity>(query: QueryParameters<TEntity>): Promise<NewType<TResultEntity>[]>;
|
|
12
|
+
scanForPage<TResultEntity = TEntity>(query: QueryParameters<TEntity>, lastEvaluatedKey?: string): Promise<PaginatedFindResult<TResultEntity>>;
|
|
10
13
|
findOne(query: Omit<QueryParameters<TEntity>, 'limit'>): Promise<TEntity | null>;
|
|
11
14
|
}
|
|
12
15
|
export default DynamoIndexDataStorage;
|
|
@@ -10,42 +10,52 @@ class DynamoIndexDataStorage extends BaseDynamoDataStorage_1.default {
|
|
|
10
10
|
super(tableName);
|
|
11
11
|
this.indexName = indexName;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
var _a, _b;
|
|
15
|
-
const queryOp = (_b = (_a = query.queryOptions) === null || _a === void 0 ? void 0 : _a.operation) !== null && _b !== void 0 ? _b : 'Query';
|
|
13
|
+
query(query) {
|
|
16
14
|
const builderParams = {
|
|
17
15
|
query,
|
|
18
16
|
tableName: this.tableName,
|
|
19
17
|
primaryKeys: this.keys,
|
|
20
18
|
indexName: this.indexName,
|
|
21
19
|
};
|
|
22
|
-
const ddbQuery =
|
|
23
|
-
|
|
24
|
-
: utils_1.QueryBuilder.buildQuery(builderParams);
|
|
25
|
-
const result = await this.executeOperation(queryOp, ddbQuery);
|
|
26
|
-
return result;
|
|
20
|
+
const ddbQuery = utils_1.QueryBuilder.buildQuery(builderParams);
|
|
21
|
+
return this.executeQuery(ddbQuery);
|
|
27
22
|
}
|
|
28
|
-
|
|
29
|
-
var _a, _b;
|
|
30
|
-
const queryOp = (_b = (_a = query.queryOptions) === null || _a === void 0 ? void 0 : _a.operation) !== null && _b !== void 0 ? _b : 'Query';
|
|
23
|
+
queryForPage(query, lastEvaluatedKey) {
|
|
31
24
|
const builderParams = {
|
|
32
25
|
query,
|
|
33
26
|
tableName: this.tableName,
|
|
34
27
|
primaryKeys: this.keys,
|
|
35
28
|
indexName: this.indexName,
|
|
36
29
|
};
|
|
37
|
-
const ddbQuery =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
const ddbQuery = utils_1.QueryBuilder.buildQuery(builderParams);
|
|
31
|
+
return this.executePaginatedQuery(ddbQuery, lastEvaluatedKey);
|
|
32
|
+
}
|
|
33
|
+
scan(query) {
|
|
34
|
+
const builderParams = {
|
|
35
|
+
query,
|
|
36
|
+
tableName: this.tableName,
|
|
37
|
+
primaryKeys: this.keys,
|
|
38
|
+
indexName: this.indexName,
|
|
39
|
+
};
|
|
40
|
+
const ddbQuery = utils_1.QueryBuilder.buildScan(builderParams);
|
|
41
|
+
return this.executeScan(ddbQuery);
|
|
42
|
+
}
|
|
43
|
+
scanForPage(query, lastEvaluatedKey) {
|
|
44
|
+
const builderParams = {
|
|
45
|
+
query,
|
|
46
|
+
tableName: this.tableName,
|
|
47
|
+
primaryKeys: this.keys,
|
|
48
|
+
indexName: this.indexName,
|
|
49
|
+
};
|
|
50
|
+
const ddbQuery = utils_1.QueryBuilder.buildScan(builderParams);
|
|
51
|
+
return this.executePaginatedScan(ddbQuery, lastEvaluatedKey);
|
|
42
52
|
}
|
|
43
53
|
async findOne(query) {
|
|
44
54
|
const limitedQuery = {
|
|
45
55
|
...query,
|
|
46
56
|
limit: 1,
|
|
47
57
|
};
|
|
48
|
-
const [result] = await this.
|
|
58
|
+
const [result] = await this.query(limitedQuery);
|
|
49
59
|
return result !== null && result !== void 0 ? result : null;
|
|
50
60
|
}
|
|
51
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamoIndexDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoIndexDataStorage.ts"],"names":[],"mappings":";;;;;AAAA,oFAA2D;AAC3D,mCAAuD;
|
|
1
|
+
{"version":3,"file":"DynamoIndexDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoIndexDataStorage.ts"],"names":[],"mappings":";;;;;AAAA,oFAA2D;AAC3D,mCAAuD;AAMvD,MAAe,sBACb,SAAQ,+BAA8B;IAGtC,YACE,SAAiB,EACE,SAAiB;QAEpC,KAAK,CAAC,SAAS,CAAC,CAAA;QAFG,cAAS,GAAT,SAAS,CAAQ;IAGtC,CAAC;IAEM,KAAK,CACV,KAA+B;QAE/B,MAAM,aAAa,GAAG;YACpB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QAED,MAAM,QAAQ,GAAG,oBAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAgB,QAAQ,CAAC,CAAA;IACnD,CAAC;IAEM,YAAY,CACjB,KAA+B,EAC/B,gBAAyB;QAEzB,MAAM,aAAa,GAAG;YACpB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QAED,MAAM,QAAQ,GAAG,oBAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAC,qBAAqB,CAAgB,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAC9E,CAAC;IAEM,IAAI,CACT,KAA+B;QAE/B,MAAM,aAAa,GAAG;YACpB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QAED,MAAM,QAAQ,GAAG,oBAAY,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAEtD,OAAO,IAAI,CAAC,WAAW,CAAgB,QAAQ,CAAC,CAAA;IAClD,CAAC;IAEM,WAAW,CAChB,KAA+B,EAC/B,gBAAyB;QAEzB,MAAM,aAAa,GAAG;YACpB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QAED,MAAM,QAAQ,GAAG,oBAAY,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAEtD,OAAO,IAAI,CAAC,oBAAoB,CAAgB,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAC7E,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,KAA8C;QAE9C,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK;YACR,KAAK,EAAE,CAAC;SACT,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/C,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAA;IACvB,CAAC;CACF;AAED,kBAAe,sBAAsB,CAAA"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { QueryParameters } from '../utils';
|
|
2
|
+
import PaginatedFindResult from './PaginatedFindResult';
|
|
2
3
|
interface QueryableDataStorage<TEntity> {
|
|
3
|
-
|
|
4
|
+
query(query: QueryParameters<TEntity>): Promise<TEntity[]>;
|
|
5
|
+
queryForPage(query: QueryParameters<TEntity>, lastEvaluatedKey?: string): Promise<PaginatedFindResult<TEntity>>;
|
|
6
|
+
scan(query: QueryParameters<TEntity>): Promise<TEntity[]>;
|
|
7
|
+
scanForPage(query: QueryParameters<TEntity>, lastEvaluatedKey?: string): Promise<PaginatedFindResult<TEntity>>;
|
|
4
8
|
findOne(query: QueryParameters<TEntity>): Promise<TEntity | null>;
|
|
5
9
|
}
|
|
6
10
|
export default QueryableDataStorage;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteRequest.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/types/DeleteRequest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PutRequest.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/types/PutRequest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WriteRequest.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/types/WriteRequest.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ScanCommandInput, QueryCommandInput } from '@aws-sdk/lib-dynamodb';
|
|
2
2
|
import QueryParameters from './QueryParameters';
|
|
3
3
|
export interface QueryBuilderParams<TEntity> {
|
|
4
4
|
query: QueryParameters<TEntity>;
|
|
@@ -13,7 +13,7 @@ declare class QueryBuilder {
|
|
|
13
13
|
private static buildQueryStatements;
|
|
14
14
|
private static buildExpression;
|
|
15
15
|
private static splitKeyAndFilterCondition;
|
|
16
|
-
static buildScan<TEntity>({ query, tableName, indexName, }: QueryBuilderParams<TEntity>):
|
|
17
|
-
static buildQuery<TEntity>({ query, primaryKeys, tableName, indexName, }: QueryBuilderParams<TEntity>):
|
|
16
|
+
static buildScan<TEntity>({ query, tableName, indexName, }: QueryBuilderParams<TEntity>): ScanCommandInput;
|
|
17
|
+
static buildQuery<TEntity>({ query, primaryKeys, tableName, indexName, }: QueryBuilderParams<TEntity>): QueryCommandInput;
|
|
18
18
|
}
|
|
19
19
|
export default QueryBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../../../services/aws/dynamodb/utils/query/QueryBuilder.ts"],"names":[],"mappings":";;;;;AAEA,iFAAwD;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../../../services/aws/dynamodb/utils/query/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { SESClient } from '@aws-sdk/client-ses';
|
|
1
2
|
import Template from '../../models/email/Template';
|
|
2
3
|
import EmailContent from '../../models/email/EmailContent';
|
|
3
4
|
import TemplateClient from './TemplateClient';
|
|
4
|
-
import { SES } from 'aws-sdk';
|
|
5
5
|
import { Cache } from '../../utils/caching';
|
|
6
6
|
declare class SESTemplateClient extends TemplateClient {
|
|
7
7
|
private readonly sesClient;
|
|
8
8
|
private readonly cache;
|
|
9
|
-
constructor(sesClient:
|
|
9
|
+
constructor(sesClient: SESClient, cache: Cache);
|
|
10
10
|
createEmailFromTemplate<TValues>(templateName: string, templateValues: TValues): Promise<EmailContent>;
|
|
11
11
|
getTemplate(templateName: string): Promise<Template>;
|
|
12
12
|
private assignTemplateValues;
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const client_ses_1 = require("@aws-sdk/client-ses");
|
|
6
7
|
const TemplateClient_1 = __importDefault(require("./TemplateClient"));
|
|
7
8
|
const TemplateNotFoundError_1 = __importDefault(require("../../models/errors/email/TemplateNotFoundError"));
|
|
8
9
|
class SESTemplateClient extends TemplateClient_1.default {
|
|
@@ -38,9 +39,10 @@ class SESTemplateClient extends TemplateClient_1.default {
|
|
|
38
39
|
}, {});
|
|
39
40
|
}
|
|
40
41
|
async moveSesTemplateToCache(templateName) {
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
const command = new client_ses_1.GetTemplateCommand({
|
|
43
|
+
TemplateName: templateName,
|
|
44
|
+
});
|
|
45
|
+
const { Template: sesTemplate } = await this.sesClient.send(command);
|
|
44
46
|
if (!sesTemplate) {
|
|
45
47
|
throw new TemplateNotFoundError_1.default(templateName);
|
|
46
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SESTemplateClient.js","sourceRoot":"","sources":["../../../services/email/SESTemplateClient.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"SESTemplateClient.js","sourceRoot":"","sources":["../../../services/email/SESTemplateClient.ts"],"names":[],"mappings":";;;;;AAAA,oDAI4B;AAI5B,sEAA6C;AAE7C,4GAAmF;AAEnF,MAAM,iBAAkB,SAAQ,wBAAc;IAC5C,YACmB,SAAoB,EACpB,KAAY;QAE7B,KAAK,EAAE,CAAA;QAHU,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAO;IAG/B,CAAC;IAQM,KAAK,CAAC,uBAAuB,CAClC,YAAoB,EACpB,cAAuB;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAErD,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAC5D,CAAC;IASM,KAAK,CAAC,WAAW,CAAC,YAAoB;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,YAAY,CAAC,CAAA;QAE7D,OAAO,QAAQ,IAAI,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAA;IAC9D,CAAC;IAEO,oBAAoB,CAC1B,QAAkB,EAClB,MAAe;QAEf,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAA;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CACtC,CAAC,KAAmB,EAAE,YAAoB,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,YAA8B,CAAA;YAElD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC1B,OAAO,KAAK,CAAA;aACb;YAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,qBAAqB,CAC1D,QAAQ,CAAC,WAAW,CAAW,EAC/B,MAAM,CACP,CAAA;YAED,OAAO;gBACL,GAAG,KAAK;gBACR,CAAC,YAAY,CAAC,EAAE,YAAY;aAC7B,CAAA;QACH,CAAC,EACD,EAAkB,CACnB,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,YAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;YACrC,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAA;QAEF,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEpE,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAA;SAC9C;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;QAErE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,IAAI,EAAE,QAAQ,CAAC,CAAA;QAE9C,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,WAAwB;QAC3D,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,YAAsB;YACxC,OAAO,EAAE,WAAW,CAAC,WAAW;YAChC,IAAI,EAAE,WAAW,CAAC,QAAQ;YAC1B,IAAI,EAAE,WAAW,CAAC,QAAQ;SAC3B,CAAA;IACH,CAAC;CACF;AAED,kBAAe,iBAAiB,CAAA"}
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const faker_1 = require("faker");
|
|
4
|
+
const client_ses_1 = require("@aws-sdk/client-ses");
|
|
5
|
+
const aws_sdk_client_mock_1 = require("aws-sdk-client-mock");
|
|
4
6
|
const __1 = require("..");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
});
|
|
7
|
+
function createMockCache() {
|
|
8
|
+
return {
|
|
9
|
+
get: jest.fn(),
|
|
10
|
+
add: jest.fn(),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
12
13
|
describe('SESTemplateClient', () => {
|
|
13
14
|
let mockCache;
|
|
14
|
-
|
|
15
|
+
const mockSES = (0, aws_sdk_client_mock_1.mockClient)(client_ses_1.SESClient);
|
|
15
16
|
let sut;
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
mockSES.reset();
|
|
19
|
+
mockCache = createMockCache();
|
|
20
|
+
sut = new __1.SESTemplateClient(mockSES, mockCache);
|
|
21
|
+
});
|
|
16
22
|
describe('createEmailFromTemplate', () => {
|
|
17
23
|
mockCache = createMockCache();
|
|
18
24
|
const templateName = 'The template name';
|
|
@@ -32,11 +38,7 @@ describe('SESTemplateClient', () => {
|
|
|
32
38
|
html: `<html><body> An email body from ${templateValues.name} of ${templateValues.company} </body></html>`,
|
|
33
39
|
};
|
|
34
40
|
it('Should create valid email content from an SES template', async () => {
|
|
35
|
-
mockSES
|
|
36
|
-
mockSES.getTemplate.mockImplementation(() => ({
|
|
37
|
-
promise: jest.fn().mockResolvedValue(sesTemplate),
|
|
38
|
-
}));
|
|
39
|
-
sut = new __1.SESTemplateClient(mockSES, mockCache);
|
|
41
|
+
mockSES.on(client_ses_1.GetTemplateCommand).resolves(sesTemplate);
|
|
40
42
|
const email = await sut.createEmailFromTemplate(templateName, templateValues);
|
|
41
43
|
expect(email).toEqual(expected);
|
|
42
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SESTemplateClient.spec.js","sourceRoot":"","sources":["../../../../services/email/__tests__/SESTemplateClient.spec.ts"],"names":[],"mappings":";;AAAA,iCAAqC;
|
|
1
|
+
{"version":3,"file":"SESTemplateClient.spec.js","sourceRoot":"","sources":["../../../../services/email/__tests__/SESTemplateClient.spec.ts"],"names":[],"mappings":";;AAAA,iCAAqC;AACrC,oDAAmE;AACnE,6DAAgD;AAEhD,0BAAsC;AAGtC,SAAS,eAAe;IACtB,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;KACf,CAAA;AACH,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,SAA6C,CAAA;IACjD,MAAM,OAAO,GAAG,IAAA,gCAAU,EAAC,sBAAS,CAAC,CAAA;IACrC,IAAI,GAAsB,CAAA;IAE1B,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,SAAS,GAAG,eAAe,EAAE,CAAA;QAC7B,GAAG,GAAG,IAAI,qBAAiB,CACzB,OAA+B,EAC/B,SAA6B,CAC9B,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,SAAS,GAAG,eAAe,EAAE,CAAA;QAC7B,MAAM,YAAY,GAAG,mBAAmB,CAAA;QACxC,MAAM,WAAW,GAAG;YAClB,QAAQ,EAAE;gBACR,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,gCAAgC;gBAC7C,QAAQ,EACN,wEAAwE;aAC3E;SACF,CAAA;QAED,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,YAAI,CAAC,SAAS,EAAE;YACtB,OAAO,EAAE,eAAO,CAAC,WAAW,EAAE;SAC/B,CAAA;QAED,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,yBAAyB,cAAc,CAAC,IAAI,EAAE;YACvD,IAAI,EAAE,mCAAmC,cAAc,CAAC,IAAI,OAAO,cAAc,CAAC,OAAO,iBAAiB;SAC3G,CAAA;QAED,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,OAAO,CAAC,EAAE,CAAC,+BAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAEpD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,uBAAuB,CAC7C,YAAY,EACZ,cAAc,CACf,CAAA;YAED,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;YAC1F,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,gCAAgC;gBACzC,IAAI,EAAE,wEAAwE;aAC/E,CAAA;YAED,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YAE7C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,uBAAuB,CAC7C,YAAY,EACZ,cAAc,CACf,CAAA;YAED,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const { EventBridge } = (0, getAWS_1.default)();
|
|
3
|
+
const client_eventbridge_1 = require("@aws-sdk/client-eventbridge");
|
|
8
4
|
class EventBridgeClient {
|
|
9
5
|
constructor(serializer, sourceName, busName, detailType) {
|
|
10
6
|
this.serializer = serializer;
|
|
11
7
|
this.sourceName = sourceName;
|
|
12
8
|
this.busName = busName;
|
|
13
9
|
this.detailType = detailType;
|
|
14
|
-
this.client = new
|
|
10
|
+
this.client = new client_eventbridge_1.EventBridgeClient();
|
|
15
11
|
}
|
|
16
12
|
async sendMessage(request) {
|
|
17
13
|
var _a, _b, _c;
|
|
18
|
-
|
|
19
|
-
.putEvents({
|
|
14
|
+
const command = new client_eventbridge_1.PutEventsCommand({
|
|
20
15
|
Entries: [
|
|
21
16
|
{
|
|
22
17
|
EventBusName: this.busName,
|
|
@@ -26,12 +21,11 @@ class EventBridgeClient {
|
|
|
26
21
|
Resources: (_c = request.options) === null || _c === void 0 ? void 0 : _c.resources,
|
|
27
22
|
},
|
|
28
23
|
],
|
|
29
|
-
})
|
|
30
|
-
|
|
24
|
+
});
|
|
25
|
+
await this.client.send(command);
|
|
31
26
|
}
|
|
32
27
|
async sendBatchMessage(request) {
|
|
33
|
-
|
|
34
|
-
.putEvents({
|
|
28
|
+
const command = new client_eventbridge_1.PutEventsCommand({
|
|
35
29
|
Entries: request.messages.map((message) => {
|
|
36
30
|
var _a, _b, _c;
|
|
37
31
|
return ({
|
|
@@ -42,8 +36,8 @@ class EventBridgeClient {
|
|
|
42
36
|
Resources: (_c = request.options) === null || _c === void 0 ? void 0 : _c.resources,
|
|
43
37
|
});
|
|
44
38
|
}),
|
|
45
|
-
})
|
|
46
|
-
|
|
39
|
+
});
|
|
40
|
+
await this.client.send(command);
|
|
47
41
|
}
|
|
48
42
|
}
|
|
49
43
|
exports.default = EventBridgeClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBridgeClient.js","sourceRoot":"","sources":["../../../services/queue/EventBridgeClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventBridgeClient.js","sourceRoot":"","sources":["../../../services/queue/EventBridgeClient.ts"],"names":[],"mappings":";;AAAA,oEAGoC;AAWpC,MAAM,iBAAiB;IAGrB,YAImB,UAAsB,EAItB,UAAmB,EAInB,OAAgB,EAKhB,UAAmB;QAbnB,eAAU,GAAV,UAAU,CAAY;QAItB,eAAU,GAAV,UAAU,CAAS;QAInB,YAAO,GAAP,OAAO,CAAS;QAKhB,eAAU,GAAV,UAAU,CAAS;QAnBrB,WAAM,GAAG,IAAI,sCAAoB,EAAE,CAAA;IAoBjD,CAAC;IAEG,KAAK,CAAC,WAAW,CACtB,OAAiE;;QAEjE,MAAM,OAAO,GAAG,IAAI,qCAAgB,CAAC;YACnC,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,IAAI,CAAC,OAAO;oBAC1B,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,UAAU,EAAE,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,mCAAI,IAAI,CAAC,UAAU;oBAC1D,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAC5D,SAAS,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS;iBACtC;aACF;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,OAAsE;QAEtE,MAAM,OAAO,GAAG,IAAI,qCAAgB,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC1C,YAAY,EAAE,IAAI,CAAC,OAAO;oBAC1B,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,UAAU,EAAE,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,mCAAI,IAAI,CAAC,UAAU;oBAC1D,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;oBACpD,SAAS,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS;iBACtC,CAAC,CAAA;aAAA,CAAC;SACJ,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;CACF;AAED,kBAAe,iBAAiB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { KinesisClient as AWSKinesisClient } from '@aws-sdk/client-kinesis';
|
|
2
2
|
import { Serializer } from '../../utils/serialization';
|
|
3
3
|
import { QueueClient, KinesisMessageOptions, QueueBatchMessageRequest, QueueMessageRequest } from './QueueClient';
|
|
4
4
|
declare class KinesisClient implements QueueClient {
|
|
@@ -6,7 +6,7 @@ declare class KinesisClient implements QueueClient {
|
|
|
6
6
|
private readonly streamName;
|
|
7
7
|
private readonly serializer;
|
|
8
8
|
private readonly defaultPartition;
|
|
9
|
-
constructor(client:
|
|
9
|
+
constructor(client: AWSKinesisClient, streamName: string, serializer: Serializer, defaultPartition: string);
|
|
10
10
|
sendMessage<TMessage>(request: QueueMessageRequest<TMessage, KinesisMessageOptions>): Promise<void>;
|
|
11
11
|
sendBatchMessage<TMessage>(request: QueueBatchMessageRequest<TMessage, KinesisMessageOptions>): Promise<void>;
|
|
12
12
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const client_kinesis_1 = require("@aws-sdk/client-kinesis");
|
|
3
4
|
class KinesisClient {
|
|
4
5
|
constructor(client, streamName, serializer, defaultPartition) {
|
|
5
6
|
this.client = client;
|
|
@@ -9,31 +10,29 @@ class KinesisClient {
|
|
|
9
10
|
}
|
|
10
11
|
async sendMessage(request) {
|
|
11
12
|
var _a, _b, _c, _d;
|
|
12
|
-
|
|
13
|
-
.putRecord({
|
|
13
|
+
const command = new client_kinesis_1.PutRecordCommand({
|
|
14
14
|
StreamName: this.streamName,
|
|
15
|
-
Data: this.serializer.serialize(request.message, '
|
|
15
|
+
Data: this.serializer.serialize(request.message, 'buffer'),
|
|
16
16
|
PartitionKey: (_b = (_a = request.options) === null || _a === void 0 ? void 0 : _a.partitionKey) !== null && _b !== void 0 ? _b : this.defaultPartition,
|
|
17
17
|
ExplicitHashKey: (_c = request.options) === null || _c === void 0 ? void 0 : _c.hashKey,
|
|
18
18
|
SequenceNumberForOrdering: (_d = request.options) === null || _d === void 0 ? void 0 : _d.sequenceNumber,
|
|
19
|
-
})
|
|
20
|
-
|
|
19
|
+
});
|
|
20
|
+
await this.client.send(command);
|
|
21
21
|
}
|
|
22
22
|
async sendBatchMessage(request) {
|
|
23
|
-
|
|
24
|
-
.putRecords({
|
|
23
|
+
const command = new client_kinesis_1.PutRecordsCommand({
|
|
25
24
|
StreamName: this.streamName,
|
|
26
25
|
Records: request.messages.map((message) => {
|
|
27
26
|
var _a, _b, _c, _d;
|
|
28
27
|
return ({
|
|
29
|
-
Data: this.serializer.serialize(message, '
|
|
28
|
+
Data: this.serializer.serialize(message, 'buffer'),
|
|
30
29
|
PartitionKey: (_b = (_a = request.options) === null || _a === void 0 ? void 0 : _a.partitionKey) !== null && _b !== void 0 ? _b : this.defaultPartition,
|
|
31
30
|
ExplicitHashKey: (_c = request.options) === null || _c === void 0 ? void 0 : _c.hashKey,
|
|
32
31
|
SequenceNumberForOrdering: (_d = request.options) === null || _d === void 0 ? void 0 : _d.sequenceNumber,
|
|
33
32
|
});
|
|
34
33
|
}),
|
|
35
|
-
})
|
|
36
|
-
|
|
34
|
+
});
|
|
35
|
+
await this.client.send(command);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
exports.default = KinesisClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KinesisClient.js","sourceRoot":"","sources":["../../../services/queue/KinesisClient.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"KinesisClient.js","sourceRoot":"","sources":["../../../services/queue/KinesisClient.ts"],"names":[],"mappings":";;AAAA,4DAIgC;AAWhC,MAAM,aAAa;IACjB,YAImB,MAAwB,EAIxB,UAAkB,EAIlB,UAAsB,EAKtB,gBAAwB;QAbxB,WAAM,GAAN,MAAM,CAAkB;QAIxB,eAAU,GAAV,UAAU,CAAQ;QAIlB,eAAU,GAAV,UAAU,CAAY;QAKtB,qBAAgB,GAAhB,gBAAgB,CAAQ;IACxC,CAAC;IAEG,KAAK,CAAC,WAAW,CACtB,OAA6D;;QAE7D,MAAM,OAAO,GAAG,IAAI,iCAAgB,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC1D,YAAY,EAAE,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,YAAY,mCAAI,IAAI,CAAC,gBAAgB;YACpE,eAAe,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,OAAO;YACzC,yBAAyB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;SAC3D,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,OAAkE;QAElE,MAAM,OAAO,GAAG,IAAI,kCAAiB,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC1C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAClD,YAAY,EAAE,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,YAAY,mCAAI,IAAI,CAAC,gBAAgB;oBACpE,eAAe,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,OAAO;oBACzC,yBAAyB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;iBAC3D,CAAC,CAAA;aAAA,CAAC;SACJ,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;CACF;AAED,kBAAe,aAAa,CAAA"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const client_sns_1 = require("@aws-sdk/client-sns");
|
|
6
4
|
const uuid_1 = require("uuid");
|
|
7
|
-
const getAWS_1 = __importDefault(require("../../utils/getAWS"));
|
|
8
|
-
const { SNS } = (0, getAWS_1.default)();
|
|
9
5
|
class SNSQueueClient {
|
|
10
6
|
constructor(topicArn, serializer) {
|
|
11
7
|
this.topicArn = topicArn;
|
|
12
8
|
this.serializer = serializer;
|
|
13
|
-
this.client = new
|
|
9
|
+
this.client = new client_sns_1.SNSClient();
|
|
14
10
|
}
|
|
15
11
|
static translateJStypeToSNSType(typeName) {
|
|
16
12
|
switch (typeName) {
|
|
@@ -37,24 +33,17 @@ class SNSQueueClient {
|
|
|
37
33
|
const attributes = ((_a = request.options) === null || _a === void 0 ? void 0 : _a.attributes)
|
|
38
34
|
? SNSQueueClient.translateAttributesToSNSAttributes((_b = request.options) === null || _b === void 0 ? void 0 : _b.attributes)
|
|
39
35
|
: {};
|
|
40
|
-
|
|
41
|
-
.publish({
|
|
36
|
+
const command = new client_sns_1.PublishCommand({
|
|
42
37
|
TopicArn: this.topicArn,
|
|
43
38
|
Message: this.serializer.serialize(request.message, 'string'),
|
|
44
39
|
MessageGroupId: (_c = request.options) === null || _c === void 0 ? void 0 : _c.messageGroupId,
|
|
45
40
|
MessageDeduplicationId: (_d = request.options) === null || _d === void 0 ? void 0 : _d.messageDeduplicationId,
|
|
46
41
|
MessageAttributes: attributes,
|
|
47
|
-
})
|
|
48
|
-
|
|
42
|
+
});
|
|
43
|
+
await this.client.send(command);
|
|
49
44
|
}
|
|
50
45
|
async sendBatchMessage(request) {
|
|
51
46
|
var _a, _b;
|
|
52
|
-
const isPublishBatchSupported = this.client.publishBatch;
|
|
53
|
-
if (!isPublishBatchSupported) {
|
|
54
|
-
const batchSendMessagePromises = request.messages.map((message) => this.sendMessage({ message, options: request.options }));
|
|
55
|
-
await Promise.all(batchSendMessagePromises);
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
47
|
const attributes = ((_a = request.options) === null || _a === void 0 ? void 0 : _a.attributes)
|
|
59
48
|
? SNSQueueClient.translateAttributesToSNSAttributes((_b = request.options) === null || _b === void 0 ? void 0 : _b.attributes)
|
|
60
49
|
: {};
|
|
@@ -68,12 +57,11 @@ class SNSQueueClient {
|
|
|
68
57
|
MessageAttributes: attributes,
|
|
69
58
|
});
|
|
70
59
|
});
|
|
71
|
-
|
|
72
|
-
.publishBatch({
|
|
60
|
+
const command = new client_sns_1.PublishBatchCommand({
|
|
73
61
|
TopicArn: this.topicArn,
|
|
74
62
|
PublishBatchRequestEntries: batchSendMessageEntries,
|
|
75
|
-
})
|
|
76
|
-
|
|
63
|
+
});
|
|
64
|
+
await this.client.send(command);
|
|
77
65
|
}
|
|
78
66
|
}
|
|
79
67
|
exports.default = SNSQueueClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SNSQueueClient.js","sourceRoot":"","sources":["../../../services/queue/SNSQueueClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SNSQueueClient.js","sourceRoot":"","sources":["../../../services/queue/SNSQueueClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const { SQS } = (0, getAWS_1.default)();
|
|
3
|
+
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
8
4
|
class SQSQueueClient {
|
|
9
5
|
constructor(queueUrl, serializer) {
|
|
10
6
|
this.queueUrl = queueUrl;
|
|
11
7
|
this.serializer = serializer;
|
|
12
|
-
this.client = new
|
|
8
|
+
this.client = new client_sqs_1.SQSClient();
|
|
13
9
|
}
|
|
14
10
|
async sendMessage(request) {
|
|
15
11
|
var _a, _b, _c;
|
|
16
|
-
|
|
17
|
-
.sendMessage({
|
|
12
|
+
const command = new client_sqs_1.SendMessageCommand({
|
|
18
13
|
QueueUrl: this.queueUrl,
|
|
19
14
|
MessageBody: this.serializer.serialize(request.message, 'string'),
|
|
20
15
|
MessageGroupId: (_a = request.options) === null || _a === void 0 ? void 0 : _a.messageGroupId,
|
|
21
16
|
MessageDeduplicationId: (_b = request.options) === null || _b === void 0 ? void 0 : _b.messageGroupId,
|
|
22
17
|
DelaySeconds: (_c = request.options) === null || _c === void 0 ? void 0 : _c.delaySeconds,
|
|
23
|
-
})
|
|
24
|
-
|
|
18
|
+
});
|
|
19
|
+
await this.client.send(command);
|
|
25
20
|
}
|
|
26
21
|
async sendBatchMessage(request) {
|
|
27
|
-
|
|
22
|
+
const command = new client_sqs_1.SendMessageBatchCommand({
|
|
28
23
|
QueueUrl: this.queueUrl,
|
|
29
24
|
Entries: request.messages.map((message, index) => {
|
|
30
25
|
var _a, _b, _c;
|
|
@@ -37,6 +32,7 @@ class SQSQueueClient {
|
|
|
37
32
|
});
|
|
38
33
|
}),
|
|
39
34
|
});
|
|
35
|
+
await this.client.send(command);
|
|
40
36
|
}
|
|
41
37
|
}
|
|
42
38
|
exports.default = SQSQueueClient;
|