@mbc-cqrs-serverless/core 1.1.0-beta.0 → 1.1.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.
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ /**
3
+ * Test Data Builders
4
+ *
5
+ * Provides factory functions for creating test data used across
6
+ * integration tests. This eliminates repetitive data creation and
7
+ * ensures consistent test fixtures.
8
+ *
9
+ * Usage:
10
+ * import {
11
+ * createTestItem,
12
+ * createTestItems,
13
+ * createBatchWriteRequest
14
+ * } from './utilities/test-data-builders'
15
+ *
16
+ * const item = createTestItem({ pk: 'user-1', sk: 'profile' })
17
+ * const items = createTestItems(100)
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.unmarshall = exports.marshall = exports.DYNAMODB_BATCH_SIZE = void 0;
21
+ exports.createTestItem = createTestItem;
22
+ exports.createTestItems = createTestItems;
23
+ exports.createMarshalledItem = createMarshalledItem;
24
+ exports.createMarshalledItems = createMarshalledItems;
25
+ exports.createKey = createKey;
26
+ exports.createKeys = createKeys;
27
+ exports.createBatchWriteRequest = createBatchWriteRequest;
28
+ exports.createBatchGetRequest = createBatchGetRequest;
29
+ exports.splitIntoBatches = splitIntoBatches;
30
+ exports.createS3Content = createS3Content;
31
+ exports.createS3Metadata = createS3Metadata;
32
+ exports.createSQSMessageBody = createSQSMessageBody;
33
+ exports.createSQSBatchEntries = createSQSBatchEntries;
34
+ exports.createSNSMessage = createSNSMessage;
35
+ exports.createSFNInput = createSFNInput;
36
+ exports.createSFNExecutionName = createSFNExecutionName;
37
+ exports.createRandomString = createRandomString;
38
+ exports.createNestedTestData = createNestedTestData;
39
+ exports.createMixedTypeTestData = createMixedTypeTestData;
40
+ exports.createLargeTestData = createLargeTestData;
41
+ exports.unmarshallItem = unmarshallItem;
42
+ exports.unmarshallItems = unmarshallItems;
43
+ const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
44
+ /**
45
+ * Creates a single test item
46
+ */
47
+ function createTestItem(options = {}) {
48
+ const { pk = `pk-${Date.now()}-${Math.random().toString(36).substring(7)}`, sk = `sk-${Date.now()}-${Math.random().toString(36).substring(7)}`, data = {}, withTimestamp = false, withVersion, } = options;
49
+ const item = {
50
+ pk,
51
+ sk,
52
+ ...data,
53
+ };
54
+ if (withTimestamp) {
55
+ item.createdAt = new Date().toISOString();
56
+ item.updatedAt = new Date().toISOString();
57
+ }
58
+ if (withVersion !== undefined) {
59
+ item.version = withVersion;
60
+ }
61
+ return item;
62
+ }
63
+ /**
64
+ * Creates multiple test items with sequential IDs
65
+ */
66
+ function createTestItems(count, options = {}) {
67
+ const { pkPrefix = 'pk', skPrefix = 'sk', dataGenerator = () => ({}), withTimestamp = false, withVersion = false, } = options;
68
+ return Array.from({ length: count }, (_, i) => createTestItem({
69
+ pk: `${pkPrefix}-${i}`,
70
+ sk: `${skPrefix}-${i}`,
71
+ data: dataGenerator(i),
72
+ withTimestamp,
73
+ withVersion: withVersion ? 1 : undefined,
74
+ }));
75
+ }
76
+ /**
77
+ * Creates a marshalled DynamoDB item
78
+ */
79
+ function createMarshalledItem(options = {}) {
80
+ const item = createTestItem(options);
81
+ return (0, util_dynamodb_1.marshall)(item);
82
+ }
83
+ /**
84
+ * Creates multiple marshalled DynamoDB items
85
+ */
86
+ function createMarshalledItems(count, options = {}) {
87
+ return createTestItems(count, options).map((item) => (0, util_dynamodb_1.marshall)(item));
88
+ }
89
+ // ============================================================================
90
+ // DynamoDB Key Builders
91
+ // ============================================================================
92
+ /**
93
+ * Creates a DynamoDB key object
94
+ */
95
+ function createKey(pk, sk) {
96
+ return (0, util_dynamodb_1.marshall)({ pk, sk });
97
+ }
98
+ /**
99
+ * Creates multiple DynamoDB keys
100
+ */
101
+ function createKeys(items) {
102
+ return items.map(({ pk, sk }) => createKey(pk, sk));
103
+ }
104
+ // ============================================================================
105
+ // Batch Operation Builders
106
+ // ============================================================================
107
+ /**
108
+ * DynamoDB batch size limit
109
+ */
110
+ exports.DYNAMODB_BATCH_SIZE = 25;
111
+ /**
112
+ * Creates a BatchWriteItem request structure for DynamoDB
113
+ */
114
+ function createBatchWriteRequest(tableName, items) {
115
+ return {
116
+ RequestItems: {
117
+ [tableName]: items.map((item) => ({
118
+ PutRequest: { Item: (0, util_dynamodb_1.marshall)(item) },
119
+ })),
120
+ },
121
+ };
122
+ }
123
+ /**
124
+ * Creates a BatchGetItem request structure for DynamoDB
125
+ */
126
+ function createBatchGetRequest(tableName, keys) {
127
+ return {
128
+ RequestItems: {
129
+ [tableName]: {
130
+ Keys: createKeys(keys),
131
+ },
132
+ },
133
+ };
134
+ }
135
+ /**
136
+ * Splits items into batches of the specified size
137
+ */
138
+ function splitIntoBatches(items, batchSize = exports.DYNAMODB_BATCH_SIZE) {
139
+ const batches = [];
140
+ for (let i = 0; i < items.length; i += batchSize) {
141
+ batches.push(items.slice(i, i + batchSize));
142
+ }
143
+ return batches;
144
+ }
145
+ // ============================================================================
146
+ // S3 Object Builders
147
+ // ============================================================================
148
+ /**
149
+ * Creates test content for S3 objects
150
+ */
151
+ function createS3Content(options = {}) {
152
+ const { type = 'text', size = 1024, data } = options;
153
+ switch (type) {
154
+ case 'json':
155
+ return Buffer.from(JSON.stringify(data || { test: true, timestamp: Date.now() }));
156
+ case 'binary':
157
+ return Buffer.alloc(size, 0xff);
158
+ case 'text':
159
+ default:
160
+ return Buffer.from('x'.repeat(size));
161
+ }
162
+ }
163
+ /**
164
+ * Creates S3 object metadata
165
+ */
166
+ function createS3Metadata(options = {}) {
167
+ const { contentType = 'application/octet-stream', customMetadata } = options;
168
+ return {
169
+ ContentType: contentType,
170
+ ...(customMetadata && { Metadata: customMetadata }),
171
+ };
172
+ }
173
+ // ============================================================================
174
+ // SQS Message Builders
175
+ // ============================================================================
176
+ /**
177
+ * Creates an SQS message body
178
+ */
179
+ function createSQSMessageBody(data) {
180
+ return JSON.stringify(data);
181
+ }
182
+ /**
183
+ * Creates multiple SQS message entries for batch operations
184
+ */
185
+ function createSQSBatchEntries(messages) {
186
+ return messages.map(({ id, body, delaySeconds, messageAttributes }) => ({
187
+ Id: id,
188
+ MessageBody: JSON.stringify(body),
189
+ ...(delaySeconds !== undefined && { DelaySeconds: delaySeconds }),
190
+ ...(messageAttributes && { MessageAttributes: messageAttributes }),
191
+ }));
192
+ }
193
+ // ============================================================================
194
+ // SNS Message Builders
195
+ // ============================================================================
196
+ /**
197
+ * Creates an SNS message for publishing
198
+ */
199
+ function createSNSMessage(options) {
200
+ const { subject, message, messageAttributes } = options;
201
+ return {
202
+ ...(subject && { Subject: subject }),
203
+ Message: typeof message === 'string' ? message : JSON.stringify(message),
204
+ ...(messageAttributes && { MessageAttributes: messageAttributes }),
205
+ };
206
+ }
207
+ // ============================================================================
208
+ // Step Functions Input Builders
209
+ // ============================================================================
210
+ /**
211
+ * Creates Step Functions execution input
212
+ */
213
+ function createSFNInput(data) {
214
+ return JSON.stringify(data);
215
+ }
216
+ /**
217
+ * Creates a Step Functions execution name
218
+ */
219
+ function createSFNExecutionName(prefix = 'test-execution') {
220
+ return `${prefix}-${Date.now()}-${Math.random().toString(36).substring(7)}`;
221
+ }
222
+ // ============================================================================
223
+ // Generic Test Data Generators
224
+ // ============================================================================
225
+ /**
226
+ * Creates a random string of specified length
227
+ */
228
+ function createRandomString(length) {
229
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
230
+ let result = '';
231
+ for (let i = 0; i < length; i++) {
232
+ result += chars.charAt(Math.floor(Math.random() * chars.length));
233
+ }
234
+ return result;
235
+ }
236
+ /**
237
+ * Creates test data with nested structures
238
+ */
239
+ function createNestedTestData(depth, breadth = 3) {
240
+ if (depth <= 0) {
241
+ return { value: createRandomString(10) };
242
+ }
243
+ const result = {};
244
+ for (let i = 0; i < breadth; i++) {
245
+ result[`level_${depth}_item_${i}`] = createNestedTestData(depth - 1, breadth);
246
+ }
247
+ return result;
248
+ }
249
+ /**
250
+ * Creates test data with various JavaScript types
251
+ */
252
+ function createMixedTypeTestData() {
253
+ return {
254
+ stringValue: 'test string',
255
+ numberValue: 42,
256
+ floatValue: 3.14159,
257
+ booleanTrue: true,
258
+ booleanFalse: false,
259
+ nullValue: null,
260
+ arrayValue: [1, 2, 3, 'four', { five: 5 }],
261
+ objectValue: {
262
+ nested: {
263
+ deep: {
264
+ value: 'deep value',
265
+ },
266
+ },
267
+ },
268
+ dateString: new Date().toISOString(),
269
+ emptyString: '',
270
+ emptyArray: [],
271
+ emptyObject: {},
272
+ largeNumber: Number.MAX_SAFE_INTEGER,
273
+ negativeNumber: -999,
274
+ zeroValue: 0,
275
+ };
276
+ }
277
+ /**
278
+ * Creates large test data for performance/memory tests
279
+ */
280
+ function createLargeTestData(options = {}) {
281
+ const { itemCount = 1000, stringLength = 100, includeNested = false, } = options;
282
+ const items = Array.from({ length: itemCount }, (_, i) => ({
283
+ id: i,
284
+ name: `item-${i}`,
285
+ data: createRandomString(stringLength),
286
+ ...(includeNested && { nested: createNestedTestData(2, 2) }),
287
+ }));
288
+ return {
289
+ items,
290
+ metadata: {
291
+ totalCount: itemCount,
292
+ generatedAt: new Date().toISOString(),
293
+ },
294
+ };
295
+ }
296
+ // ============================================================================
297
+ // Unmarshall Utilities
298
+ // ============================================================================
299
+ /**
300
+ * Unmarshalls a DynamoDB item to a plain JavaScript object
301
+ */
302
+ function unmarshallItem(item) {
303
+ return (0, util_dynamodb_1.unmarshall)(item);
304
+ }
305
+ /**
306
+ * Unmarshalls multiple DynamoDB items
307
+ */
308
+ function unmarshallItems(items) {
309
+ return items.map((item) => unmarshallItem(item));
310
+ }
311
+ // ============================================================================
312
+ // Index File Export
313
+ // ============================================================================
314
+ /**
315
+ * Re-export for convenience
316
+ */
317
+ var util_dynamodb_2 = require("@aws-sdk/util-dynamodb");
318
+ Object.defineProperty(exports, "marshall", { enumerable: true, get: function () { return util_dynamodb_2.marshall; } });
319
+ Object.defineProperty(exports, "unmarshall", { enumerable: true, get: function () { return util_dynamodb_2.unmarshall; } });
320
+ //# sourceMappingURL=test-data-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-data-builders.js","sourceRoot":"","sources":["../../../src/integration/utilities/test-data-builders.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,15 @@ export interface INotification {
18
18
  /** Optional payload with changed data */
19
19
  content?: object;
20
20
  }
21
+ /**
22
+ * Email tag for SES notifications.
23
+ */
24
+ export interface EmailTag {
25
+ /** Tag name (e.g., 'department', 'campaign') */
26
+ name: string;
27
+ /** Tag value (e.g., 'finance', 'welcome-series') */
28
+ value: string;
29
+ }
21
30
  /**
22
31
  * Email attachment for SES notifications.
23
32
  */
@@ -50,6 +59,8 @@ export interface EmailNotification {
50
59
  replyToAddrs?: string[];
51
60
  /** Optional file attachments */
52
61
  attachments?: Attachment[];
62
+ /** AWS SES Tags for categorization/filtering */
63
+ emailTags?: EmailTag[];
53
64
  }
54
65
  /**
55
66
  * Configuration for SES Inline Templates.
@@ -83,4 +94,6 @@ export interface TemplatedEmailNotification {
83
94
  data: Record<string, any>;
84
95
  /** Optional configuration set name to handle open/click tracking events */
85
96
  configurationSetName?: string;
97
+ /** AWS SES Tags for categorization/filtering */
98
+ emailTags?: EmailTag[];
86
99
  }
@@ -36,6 +36,10 @@ let EmailService = EmailService_1 = class EmailService {
36
36
  CcAddresses: msg.ccAddrs,
37
37
  BccAddresses: msg.bccAddrs,
38
38
  };
39
+ const emailTags = msg.emailTags?.map((tag) => ({
40
+ Name: tag.name,
41
+ Value: tag.value,
42
+ }));
39
43
  if (!msg.attachments || msg.attachments.length === 0) {
40
44
  this.logger.log(`Sending simple email to ${msg.toAddrs.join(', ')}`);
41
45
  const command = new client_sesv2_1.SendEmailCommand({
@@ -48,6 +52,7 @@ let EmailService = EmailService_1 = class EmailService {
48
52
  },
49
53
  },
50
54
  ReplyToAddresses: msg.replyToAddrs,
55
+ EmailTags: emailTags,
51
56
  });
52
57
  const result = await this[CLIENT_INSTANCE].send(command);
53
58
  return result;
@@ -80,6 +85,7 @@ let EmailService = EmailService_1 = class EmailService {
80
85
  Content: {
81
86
  Raw: { Data: emailBuffer },
82
87
  },
88
+ EmailTags: emailTags,
83
89
  });
84
90
  const result = await this[CLIENT_INSTANCE].send(command);
85
91
  return result;
@@ -120,13 +126,14 @@ let EmailService = EmailService_1 = class EmailService {
120
126
  if (!text)
121
127
  return '';
122
128
  // Regex Explanation: /\{\{([^}]{1,255})\}\}/g
123
- // Matches {{...}} containing 1-255 characters except '}' (supports Unicode/Japanese)
124
- // The 255 char limit prevents ReDoS (Regular Expression Denial of Service) attacks
129
+ // 1. [^}]: Matches any character that is NOT a closing curly brace.
130
+ // 2. {1,255}: Limits length to prevent ReDoS.
125
131
  return text.replace(/\{\{([^}]{1,255})\}\}/g, (_, expression) => {
126
132
  const key = expression.trim(); // Remove spaces (e.g. {{ code }} -> code)
127
133
  const value = getDeepValue(data || {}, key);
128
- // If value exists, return it. Otherwise keep original tag.
129
- return value !== undefined ? value : `{{${expression}}}`;
134
+ // AWS SES behavior: If the value is missing, the tag remains in the output
135
+ // or is handled by the template engine. We'll keep the original tag here.
136
+ return value !== undefined ? String(value) : `{{${expression}}}`;
130
137
  });
131
138
  };
132
139
  contentPayload = {
@@ -156,6 +163,10 @@ let EmailService = EmailService_1 = class EmailService {
156
163
  },
157
164
  };
158
165
  }
166
+ const emailTags = msg.emailTags?.map((tag) => ({
167
+ Name: tag.name,
168
+ Value: tag.value,
169
+ }));
159
170
  const command = new client_sesv2_1.SendEmailCommand({
160
171
  FromEmailAddress: fromAddress,
161
172
  Destination: {
@@ -166,6 +177,7 @@ let EmailService = EmailService_1 = class EmailService {
166
177
  ReplyToAddresses: msg.replyToAddrs,
167
178
  ConfigurationSetName: msg.configurationSetName,
168
179
  Content: contentPayload,
180
+ EmailTags: emailTags,
169
181
  });
170
182
  const result = await this[CLIENT_INSTANCE].send(command);
171
183
  this.logger.log(`Template email sent successfully: ${result.MessageId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../src/notifications/email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../src/notifications/email.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/core",
3
- "version": "1.1.0-beta.0",
3
+ "version": "1.1.0",
4
4
  "description": "CQRS and event base core",
5
5
  "keywords": [
6
6
  "mbc",
@@ -88,5 +88,5 @@
88
88
  "serverless-step-functions-local": "^0.5.1",
89
89
  "supertest": "^7.0.0"
90
90
  },
91
- "gitHead": "b16d8982c02933fd41a455d3e41f9750bbcf668c"
91
+ "gitHead": "f5ce26f50fa1d446a29a5a1771ca107ce426e7bc"
92
92
  }