@trunkrs/common 1.12.4 → 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.
Files changed (66) hide show
  1. package/models/enum/MimeType.d.ts +2 -1
  2. package/models/enum/MimeType.js +1 -0
  3. package/models/enum/MimeType.js.map +1 -1
  4. package/package.json +33 -6
  5. package/providers/email.d.ts +1 -0
  6. package/providers/email.js +6 -5
  7. package/providers/email.js.map +1 -1
  8. package/services/aws/LambdaClient/LambdaInvocationFailedError.d.ts +1 -1
  9. package/services/aws/LambdaClient/LambdaInvocationFailedError.js +3 -3
  10. package/services/aws/LambdaClient/LambdaInvocationFailedError.js.map +1 -1
  11. package/services/aws/LambdaClient/index.d.ts +3 -2
  12. package/services/aws/LambdaClient/index.js +6 -4
  13. package/services/aws/LambdaClient/index.js.map +1 -1
  14. package/services/aws/SecretsClient.js +7 -13
  15. package/services/aws/SecretsClient.js.map +1 -1
  16. package/services/aws/dynamodb/BaseDynamoDataStorage.d.ts +6 -4
  17. package/services/aws/dynamodb/BaseDynamoDataStorage.js +55 -42
  18. package/services/aws/dynamodb/BaseDynamoDataStorage.js.map +1 -1
  19. package/services/aws/dynamodb/DynamoDataStorage.d.ts +8 -6
  20. package/services/aws/dynamodb/DynamoDataStorage.js +50 -40
  21. package/services/aws/dynamodb/DynamoDataStorage.js.map +1 -1
  22. package/services/aws/dynamodb/DynamoIndexDataStorage.d.ts +5 -2
  23. package/services/aws/dynamodb/DynamoIndexDataStorage.js +27 -17
  24. package/services/aws/dynamodb/DynamoIndexDataStorage.js.map +1 -1
  25. package/services/aws/dynamodb/interfaces/QueryableDataStorage.d.ts +5 -1
  26. package/services/aws/dynamodb/types/DeleteRequest.d.ts +4 -0
  27. package/services/aws/dynamodb/types/DeleteRequest.js +3 -0
  28. package/services/aws/dynamodb/types/DeleteRequest.js.map +1 -0
  29. package/services/aws/dynamodb/types/PutRequest.d.ts +4 -0
  30. package/services/aws/dynamodb/types/PutRequest.js +3 -0
  31. package/services/aws/dynamodb/types/PutRequest.js.map +1 -0
  32. package/services/aws/dynamodb/types/WriteRequest.d.ts +7 -0
  33. package/services/aws/dynamodb/types/WriteRequest.js +3 -0
  34. package/services/aws/dynamodb/types/WriteRequest.js.map +1 -0
  35. package/services/aws/dynamodb/utils/query/QueryBuilder.d.ts +3 -3
  36. package/services/aws/dynamodb/utils/query/QueryBuilder.js.map +1 -1
  37. package/services/aws/dynamodb/utils/query/QueryParameters.d.ts +0 -3
  38. package/services/email/SESTemplateClient.d.ts +2 -2
  39. package/services/email/SESTemplateClient.js +5 -3
  40. package/services/email/SESTemplateClient.js.map +1 -1
  41. package/services/email/__tests__/SESTemplateClient.spec.js +15 -13
  42. package/services/email/__tests__/SESTemplateClient.spec.js.map +1 -1
  43. package/services/queue/EventBridgeClient.js +8 -14
  44. package/services/queue/EventBridgeClient.js.map +1 -1
  45. package/services/queue/KinesisClient.d.ts +2 -2
  46. package/services/queue/KinesisClient.js +9 -10
  47. package/services/queue/KinesisClient.js.map +1 -1
  48. package/services/queue/SNSQueueClient.js +8 -20
  49. package/services/queue/SNSQueueClient.js.map +1 -1
  50. package/services/queue/SQSQueueClient.js +7 -11
  51. package/services/queue/SQSQueueClient.js.map +1 -1
  52. package/services/state-machine/StepFunctionsClient.js +5 -10
  53. package/services/state-machine/StepFunctionsClient.js.map +1 -1
  54. package/utils/caching/S3Cache.js +26 -31
  55. package/utils/caching/S3Cache.js.map +1 -1
  56. package/utils/caching/SecretCache.js +16 -22
  57. package/utils/caching/SecretCache.js.map +1 -1
  58. package/utils/handlers/QueueHandlerBuilder/extractors/DynamoStreamExtractor.d.ts +2 -1
  59. package/utils/handlers/QueueHandlerBuilder/extractors/DynamoStreamExtractor.js +2 -2
  60. package/utils/handlers/QueueHandlerBuilder/extractors/DynamoStreamExtractor.js.map +1 -1
  61. package/utils/tracing.d.ts +1 -1
  62. package/utils/tracing.js +11 -15
  63. package/utils/tracing.js.map +1 -1
  64. package/utils/getAWS.d.ts +0 -3
  65. package/utils/getAWS.js +0 -15
  66. package/utils/getAWS.js.map +0 -1
@@ -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 lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
6
7
  const utils_1 = require("./utils");
7
8
  const BaseDynamoDataStorage_1 = __importDefault(require("./BaseDynamoDataStorage"));
8
9
  const BatchSizeTooBigError_1 = __importDefault(require("./BatchSizeTooBigError"));
@@ -24,21 +25,18 @@ class DynamoDataStorage extends BaseDynamoDataStorage_1.default {
24
25
  [this.tableName]: batch,
25
26
  };
26
27
  do {
27
- const result = await this.documentClient
28
- .batchWrite({
29
- RequestItems: requestItems,
30
- })
31
- .promise();
28
+ const command = new lib_dynamodb_1.BatchWriteCommand({ RequestItems: requestItems });
29
+ const result = await this.documentClient.send(command);
32
30
  requestItems = result.UnprocessedItems;
33
31
  } while (requestItems && Object.keys(requestItems).length > 0);
34
32
  }
35
33
  }
36
34
  async get(key) {
37
- const dynamoGetRequest = {
35
+ const command = new lib_dynamodb_1.GetCommand({
38
36
  TableName: this.tableName,
39
37
  Key: key,
40
- };
41
- const result = await this.documentClient.get(dynamoGetRequest).promise();
38
+ });
39
+ const result = await this.documentClient.send(command);
42
40
  return result.Item ? result.Item : null;
43
41
  }
44
42
  async batchGet(keys, batchSize = 100) {
@@ -47,14 +45,12 @@ class DynamoDataStorage extends BaseDynamoDataStorage_1.default {
47
45
  batches.push(keys.splice(0, batchSize).filter((key) => key));
48
46
  }
49
47
  const batchResults = await Promise.all(batches.map(async (batch) => {
50
- const dynamoBatchGetRequest = {
48
+ const command = new lib_dynamodb_1.BatchGetCommand({
51
49
  RequestItems: {
52
50
  [this.tableName]: { Keys: batch },
53
51
  },
54
- };
55
- const results = await this.documentClient
56
- .batchGet(dynamoBatchGetRequest)
57
- .promise();
52
+ });
53
+ const results = await this.documentClient.send(command);
58
54
  return ((results.Responses &&
59
55
  results.Responses[this.tableName]) || []);
60
56
  }));
@@ -63,42 +59,57 @@ class DynamoDataStorage extends BaseDynamoDataStorage_1.default {
63
59
  return results;
64
60
  }, []);
65
61
  }
66
- async find(query) {
67
- var _a, _b;
68
- const queryOp = (_b = (_a = query.queryOptions) === null || _a === void 0 ? void 0 : _a.operation) !== null && _b !== void 0 ? _b : 'Query';
69
- const builderParams = { query, tableName: this.tableName, primaryKeys: this.keys };
70
- const ddbQuery = queryOp === 'Scan'
71
- ? utils_1.QueryBuilder.buildScan(builderParams)
72
- : utils_1.QueryBuilder.buildQuery(builderParams);
73
- const result = await this.executeOperation(queryOp, ddbQuery);
74
- return result;
62
+ query(query) {
63
+ const builderParams = {
64
+ query,
65
+ tableName: this.tableName,
66
+ primaryKeys: this.keys,
67
+ };
68
+ const ddbQuery = utils_1.QueryBuilder.buildQuery(builderParams);
69
+ return this.executeQuery(ddbQuery);
70
+ }
71
+ scan(query) {
72
+ const builderParams = {
73
+ query,
74
+ tableName: this.tableName,
75
+ primaryKeys: this.keys,
76
+ };
77
+ const ddbQuery = utils_1.QueryBuilder.buildScan(builderParams);
78
+ return this.executeScan(ddbQuery);
79
+ }
80
+ queryForPage(query, lastEvaluatedKey) {
81
+ const builderParams = {
82
+ query,
83
+ tableName: this.tableName,
84
+ primaryKeys: this.keys,
85
+ };
86
+ const ddbQuery = utils_1.QueryBuilder.buildQuery(builderParams);
87
+ return this.executePaginatedQuery(ddbQuery, lastEvaluatedKey);
75
88
  }
76
- async paginatedFind(query, lastEvaluatedKey) {
77
- var _a, _b;
78
- const queryOp = (_b = (_a = query.queryOptions) === null || _a === void 0 ? void 0 : _a.operation) !== null && _b !== void 0 ? _b : 'Query';
79
- const builderParams = { query, tableName: this.tableName, primaryKeys: this.keys };
80
- const ddbQuery = queryOp === 'Scan'
81
- ? utils_1.QueryBuilder.buildScan(builderParams)
82
- : utils_1.QueryBuilder.buildQuery(builderParams);
83
- const result = await this.executePaginatedOperation(queryOp, ddbQuery, lastEvaluatedKey);
84
- return result;
89
+ scanForPage(query, lastEvaluatedKey) {
90
+ const builderParams = {
91
+ query,
92
+ tableName: this.tableName,
93
+ primaryKeys: this.keys,
94
+ };
95
+ const ddbQuery = utils_1.QueryBuilder.buildScan(builderParams);
96
+ return this.executePaginatedScan(ddbQuery, lastEvaluatedKey);
85
97
  }
86
98
  async findOne(query) {
87
99
  const limitedQuery = {
88
100
  ...query,
89
101
  limit: 1,
90
102
  };
91
- const [result] = await this.find(limitedQuery);
103
+ const [result] = await this.query(limitedQuery);
92
104
  return result !== null && result !== void 0 ? result : null;
93
105
  }
94
106
  async remove(entity) {
95
107
  const keyPair = this.getKeyPairFromModel(entity);
96
- await this.documentClient
97
- .delete({
108
+ const command = new lib_dynamodb_1.DeleteCommand({
98
109
  TableName: this.tableName,
99
110
  Key: keyPair,
100
- })
101
- .promise();
111
+ });
112
+ await this.documentClient.send(command);
102
113
  }
103
114
  async batchRemove(entities, batchSize = 24) {
104
115
  const keyPairs = entities.map((entity) => this.getKeyPairFromModel(entity));
@@ -119,12 +130,11 @@ class DynamoDataStorage extends BaseDynamoDataStorage_1.default {
119
130
  return entities;
120
131
  }
121
132
  async save(entity) {
122
- await this.documentClient
123
- .put({
133
+ const command = new lib_dynamodb_1.PutCommand({
124
134
  TableName: this.tableName,
125
135
  Item: entity,
126
- })
127
- .promise();
136
+ });
137
+ await this.documentClient.send(command);
128
138
  return entity;
129
139
  }
130
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DynamoDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoDataStorage.ts"],"names":[],"mappings":"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"}
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
- find<TResultEntity = TEntity>(query: QueryParameters<TEntity>): Promise<TResultEntity[]>;
9
- paginatedFind<TResultEntity = TEntity>(query: QueryParameters<TEntity>, lastEvaluatedKey?: string): Promise<PaginatedFindResult<TResultEntity>>;
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
- async find(query) {
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 = queryOp === 'Scan'
23
- ? utils_1.QueryBuilder.buildScan(builderParams)
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
- async paginatedFind(query, lastEvaluatedKey) {
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 = queryOp === 'Scan'
38
- ? utils_1.QueryBuilder.buildScan(builderParams)
39
- : utils_1.QueryBuilder.buildQuery(builderParams);
40
- const result = await this.executePaginatedOperation(queryOp, ddbQuery, lastEvaluatedKey);
41
- return result;
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.find(limitedQuery);
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;AAIvD,MAAe,sBACb,SAAQ,+BAA8B;IAGtC,YACE,SAAiB,EACE,SAAiB;QAEpC,KAAK,CAAC,SAAS,CAAC,CAAA;QAFG,cAAS,GAAT,SAAS,CAAQ;IAGtC,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,KAA+B;;QAE/B,MAAM,OAAO,GAAG,MAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,SAAS,mCAAI,OAAO,CAAA;QACxD,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,GACZ,OAAO,KAAK,MAAM;YAChB,CAAC,CAAC,oBAAY,CAAC,SAAS,CAAC,aAAa,CAAC;YACvC,CAAC,CAAC,oBAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAE5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAgB,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC5E,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,KAA+B,EAC/B,gBAAyB;;QAEzB,MAAM,OAAO,GAAG,MAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,SAAS,mCAAI,OAAO,CAAA;QACxD,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,GACZ,OAAO,KAAK,MAAM;YAChB,CAAC,CAAC,oBAAY,CAAC,SAAS,CAAC,aAAa,CAAC;YACvC,CAAC,CAAC,oBAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAE5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACjD,OAAO,EACP,QAAQ,EACR,gBAAgB,CACjB,CAAA;QAED,OAAO,MAAM,CAAA;IACf,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,IAAI,CAAC,YAAY,CAAC,CAAA;QAC9C,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAA;IACvB,CAAC;CACF;AAED,kBAAe,sBAAsB,CAAA"}
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
- find(query: QueryParameters<TEntity>): Promise<TEntity[]>;
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,4 @@
1
+ interface DeleteRequest {
2
+ Key: Record<string, any>;
3
+ }
4
+ export default DeleteRequest;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DeleteRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteRequest.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/types/DeleteRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ interface PutRequest {
2
+ Item: Record<string, any>;
3
+ }
4
+ export default PutRequest;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PutRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PutRequest.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/types/PutRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import DeleteRequest from './DeleteRequest';
2
+ import PutRequest from './PutRequest';
3
+ interface WriteRequest {
4
+ PutRequest?: PutRequest;
5
+ DeleteRequest?: DeleteRequest;
6
+ }
7
+ export default WriteRequest;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WriteRequest.js.map
@@ -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 { DynamoDB } from 'aws-sdk';
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>): DynamoDB.DocumentClient.ScanInput;
17
- static buildQuery<TEntity>({ query, primaryKeys, tableName, indexName, }: QueryBuilderParams<TEntity>): DynamoDB.DocumentClient.QueryInput;
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":"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"}
1
+ {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../../../services/aws/dynamodb/utils/query/QueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import WhereParameters from './QueryWhereStatement';
2
2
  interface QueryParameters<TEntity> {
3
- queryOptions?: {
4
- operation?: 'Scan' | 'Query';
5
- };
6
3
  where?: WhereParameters<TEntity>;
7
4
  select?: Array<keyof TEntity>;
8
5
  limit?: number;
@@ -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: SES, cache: Cache);
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 { Template: sesTemplate } = await this.sesClient
42
- .getTemplate({ TemplateName: templateName })
43
- .promise();
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":";;;;;AAGA,sEAA6C;AAG7C,4GAAmF;AAEnF,MAAM,iBAAkB,SAAQ,wBAAc;IAC5C,YAA6B,SAAc,EAAmB,KAAY;QACxE,KAAK,EAAE,CAAA;QADoB,cAAS,GAAT,SAAS,CAAK;QAAmB,UAAK,GAAL,KAAK,CAAO;IAE1E,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,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS;aACnD,WAAW,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;aAC3C,OAAO,EAAE,CAAA;QAEZ,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,WAAyB;QAC5D,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,YAAY;YAC9B,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
+ {"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
- const createMockCache = () => ({
6
- get: jest.fn(),
7
- add: jest.fn(),
8
- });
9
- const createMockSES = () => ({
10
- getTemplate: jest.fn(),
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
- let mockSES;
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 = createMockSES();
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;AAErC,0BAAsC;AAGtC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;CACf,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;CACvB,CAAC,CAAA;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,SAA6C,CAAA;IACjD,IAAI,OAAyC,CAAA;IAC7C,IAAI,GAAsB,CAAA;IAE1B,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,GAAG,aAAa,EAAE,CAAA;YACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC;aAClD,CAAC,CAAC,CAAA;YAEH,GAAG,GAAG,IAAI,qBAAiB,CACzB,OAAyB,EACzB,SAA6B,CAC9B,CAAA;YAED,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
+ {"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 getAWS_1 = __importDefault(require("../../utils/getAWS"));
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 EventBridge();
10
+ this.client = new client_eventbridge_1.EventBridgeClient();
15
11
  }
16
12
  async sendMessage(request) {
17
13
  var _a, _b, _c;
18
- await this.client
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
- .promise();
24
+ });
25
+ await this.client.send(command);
31
26
  }
32
27
  async sendBatchMessage(request) {
33
- await this.client
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
- .promise();
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":";;;;;AAQA,gEAAuC;AAEvC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,gBAAM,GAAE,CAAA;AAEhC,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,WAAW,EAAE,CAAA;IAoBxC,CAAC;IAEG,KAAK,CAAC,WAAW,CACtB,OAAiE;;QAEjE,MAAM,IAAI,CAAC,MAAM;aACd,SAAS,CAAC;YACT,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;aACD,OAAO,EAAE,CAAA;IACd,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,OAAsE;QAEtE,MAAM,IAAI,CAAC,MAAM;aACd,SAAS,CAAC;YACT,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;aACD,OAAO,EAAE,CAAA;IACd,CAAC;CACF;AAED,kBAAe,iBAAiB,CAAA"}
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 AWS from 'aws-sdk';
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: AWS.Kinesis, streamName: string, serializer: Serializer, defaultPartition: string);
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
  }