@encodeagent/platform-helper-data 1.2603.1311456 → 1.2604.1031117

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.
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @fileoverview Azure Cosmos DB implementation
3
3
  */
4
- import { IConnectionForServiceProps, IConnectionResult, IRetrieveResult, IRetrieveProps, ICreateProps, ICreateResult, ICreateBatchProps, ICreateBatchResult, IQueryProps, IQueryResult, IUpsertProps, IUpsertResult, IUpdateProps, IUpdateResult } from '../util';
4
+ import { IConnectionForServiceProps, IConnectionResult, IRetrieveResult, IRetrieveProps, IInsertProps, IInsertResult, IInsertBatchProps, IInsertBatchResult, IQueryProps, IQueryResult, IUpsertProps, IUpsertResult, IUpdateProps, IUpdateResult } from "../util";
5
5
  /**
6
- * Create Azure Cosmos DB connection
6
+ * Insert Azure Cosmos DB connection
7
7
  * @param props Connection properties with URI and key
8
8
  * @returns Promise<IConnectionResult>
9
9
  */
@@ -15,11 +15,11 @@ export declare function connect(props: IConnectionForServiceProps): Promise<ICon
15
15
  */
16
16
  export declare function retrieve(props: IRetrieveProps): Promise<IRetrieveResult>;
17
17
  export declare function query(props: IQueryProps): Promise<IQueryResult>;
18
- export declare function create(props: ICreateProps): Promise<ICreateResult>;
19
- export declare function createBatch(props: ICreateBatchProps): Promise<ICreateBatchResult>;
18
+ export declare function insert(props: IInsertProps): Promise<IInsertResult>;
19
+ export declare function insertBatch(props: IInsertBatchProps): Promise<IInsertBatchResult>;
20
20
  /**
21
- * Upsert (create or update) a document in Azure Cosmos DB
22
- * @param props Upsert properties with client, databaseId, containerId, record, and optional partitionKey
21
+ * Upsert (insert or update) a document in Azure Cosmos DB
22
+ * @param props Upsert properties with client, databaseId, containerId, record
23
23
  * @returns Promise<IUpsertResult>
24
24
  */
25
25
  export declare function upsert(props: IUpsertProps): Promise<IUpsertResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cosmosdb/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,0BAA0B,EAAE,iBAAiB,EAC7C,eAAe,EAAE,cAAc,EAC/B,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,kBAAkB,EACrC,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAI9B,MAAM,SAAS,CAAC;AAYjB;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8C3F;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAuD9E;AAGD,wBAAsB,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAoDrE;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAyCxE;AAKD,wBAAsB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2CvF;AAGD;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAkDxE;AAGD,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAsDxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cosmosdb/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EAGhB,MAAM,SAAS,CAAC;AAWjB;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8C3F;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA2D9E;AAED,wBAAsB,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAuDrE;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA4CxE;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkDvF;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAsDxE;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAgExE"}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.connect = connect;
7
7
  exports.retrieve = retrieve;
8
8
  exports.query = query;
9
- exports.create = create;
10
- exports.createBatch = createBatch;
9
+ exports.insert = insert;
10
+ exports.insertBatch = insertBatch;
11
11
  exports.upsert = upsert;
12
12
  exports.update = update;
13
13
  const util_1 = require("../util");
@@ -20,7 +20,7 @@ const ERROR_INFO = {
20
20
  module: "database-cosmosdb"
21
21
  };
22
22
  /**
23
- * Create Azure Cosmos DB connection
23
+ * Insert Azure Cosmos DB connection
24
24
  * @param props Connection properties with URI and key
25
25
  * @returns Promise<IConnectionResult>
26
26
  */
@@ -49,7 +49,7 @@ async function connect(props) {
49
49
  }
50
50
  };
51
51
  }
52
- // Create Azure Cosmos DB client
52
+ // Insert Azure Cosmos DB client
53
53
  const client = new cosmos_1.CosmosClient({ endpoint: uri, key });
54
54
  return {
55
55
  service: SERVICE,
@@ -63,7 +63,7 @@ async function connect(props) {
63
63
  ...ERROR_INFO,
64
64
  source: "connect",
65
65
  code: "database-connect",
66
- message: error instanceof Error ? error.message : 'Failed to connect to Azure Cosmos DB'
66
+ message: error instanceof Error ? error.message : "Failed to connect to Azure Cosmos DB"
67
67
  }
68
68
  };
69
69
  }
@@ -100,10 +100,10 @@ async function retrieve(props) {
100
100
  else {
101
101
  const iterator = container.items.query({
102
102
  query: "SELECT * FROM c WHERE c.id = @id",
103
- parameters: [{ name: "@id", value: id }],
103
+ parameters: [{ name: "@id", value: id }]
104
104
  }, {
105
105
  enableCrossPartitionQuery: true,
106
- maxItemCount: 1, // fetch small pages; still fan-out under the hood
106
+ maxItemCount: 1 // fetch small pages; still fan-out under the hood
107
107
  });
108
108
  const { resources: items /*, headers */ } = await iterator.fetchNext();
109
109
  return {
@@ -119,7 +119,9 @@ async function retrieve(props) {
119
119
  ...ERROR_INFO,
120
120
  source: "retrieve",
121
121
  code: "database-retrieve",
122
- message: error instanceof Error ? error.message : 'Failed to retrieve document from Cosmos DB'
122
+ message: error instanceof Error
123
+ ? error.message
124
+ : "Failed to retrieve document from Cosmos DB"
123
125
  }
124
126
  };
125
127
  }
@@ -163,14 +165,20 @@ async function query(props) {
163
165
  ...ERROR_INFO,
164
166
  source: "query",
165
167
  code: "database-query",
166
- message: error instanceof Error ? error.message : 'Failed to query documents from Cosmos DB'
168
+ message: error instanceof Error
169
+ ? error.message
170
+ : "Failed to query documents from Cosmos DB"
167
171
  }
168
172
  };
169
173
  }
170
174
  }
171
- async function create(props) {
175
+ async function insert(props) {
172
176
  try {
173
- const { client, databaseId, containerId, record } = props;
177
+ const { client, databaseId, containerId } = props;
178
+ let record = { ...props.record, id: props.record.id ?? (0, platform_helper_util_1.newGuid)() };
179
+ if (props.onPreprocessRecord) {
180
+ record = await props.onPreprocessRecord(record);
181
+ }
174
182
  const errorResult = (0, util_1.validateDatabaseSetting)({
175
183
  service: SERVICE,
176
184
  ...ERROR_INFO,
@@ -184,10 +192,7 @@ async function create(props) {
184
192
  }
185
193
  const database = client.database(databaseId);
186
194
  const container = database.container(containerId);
187
- const response = await container.items.create({
188
- ...record,
189
- id: record.id ?? (0, platform_helper_util_1.newGuid)()
190
- });
195
+ const response = await container.items.create(record);
191
196
  return {
192
197
  service: SERVICE,
193
198
  result: response.resource
@@ -198,16 +203,20 @@ async function create(props) {
198
203
  service: SERVICE,
199
204
  error: {
200
205
  ...ERROR_INFO,
201
- source: "create",
202
- code: "database-create",
203
- message: error instanceof Error ? error.message : 'Failed to create record in Cosmos DB'
206
+ source: "insert",
207
+ code: "database-insert",
208
+ message: error instanceof Error ? error.message : "Failed to insert record in Cosmos DB"
204
209
  }
205
210
  };
206
211
  }
207
212
  }
208
- async function createBatch(props) {
213
+ async function insertBatch(props) {
209
214
  try {
210
- const { client, databaseId, containerId, records } = props;
215
+ const { client, databaseId, containerId } = props;
216
+ let records = props.records;
217
+ if (props.onPreprocessRecord) {
218
+ records = await Promise.all(records.map(async (r, index) => await props.onPreprocessRecord({ ...r, id: r.id ?? (0, platform_helper_util_1.newGuid)() }, index)));
219
+ }
211
220
  const errorResult = (0, util_1.validateDatabaseSetting)({
212
221
  service: SERVICE,
213
222
  ...ERROR_INFO,
@@ -221,14 +230,10 @@ async function createBatch(props) {
221
230
  }
222
231
  const database = client.database(databaseId);
223
232
  const container = database.container(containerId);
224
- const payloads = records.map(r => ({
225
- ...r,
226
- id: r.id ?? (0, platform_helper_util_1.newGuid)()
227
- }));
228
- const responses = await Promise.all(payloads.map(p => container.items.create(p)));
233
+ const responses = await Promise.all(records.map((p) => container.items.create(p)));
229
234
  return {
230
235
  service: SERVICE,
231
- result: responses.map(r => r.resource)
236
+ result: responses.map((r) => r.resource)
232
237
  };
233
238
  }
234
239
  catch (error) {
@@ -236,21 +241,27 @@ async function createBatch(props) {
236
241
  service: SERVICE,
237
242
  error: {
238
243
  ...ERROR_INFO,
239
- source: "createBatch",
240
- code: "database-create-batch",
241
- message: error instanceof Error ? error.message : 'Failed to batch create records in Cosmos DB'
244
+ source: "insertBatch",
245
+ code: "database-insert-batch",
246
+ message: error instanceof Error
247
+ ? error.message
248
+ : "Failed to batch insert records in Cosmos DB"
242
249
  }
243
250
  };
244
251
  }
245
252
  }
246
253
  /**
247
- * Upsert (create or update) a document in Azure Cosmos DB
248
- * @param props Upsert properties with client, databaseId, containerId, record, and optional partitionKey
254
+ * Upsert (insert or update) a document in Azure Cosmos DB
255
+ * @param props Upsert properties with client, databaseId, containerId, record
249
256
  * @returns Promise<IUpsertResult>
250
257
  */
251
258
  async function upsert(props) {
252
259
  try {
253
- const { client, databaseId, containerId, record } = props;
260
+ const { client, databaseId, containerId } = props;
261
+ let record = { ...props.record, id: props.record.id ?? (0, platform_helper_util_1.newGuid)() };
262
+ if (props.onPreprocessRecord) {
263
+ record = await props.onPreprocessRecord(record);
264
+ }
254
265
  const errorResult = (0, util_1.validateDatabaseSetting)({
255
266
  service: SERVICE,
256
267
  ...ERROR_INFO,
@@ -264,13 +275,12 @@ async function upsert(props) {
264
275
  }
265
276
  const database = client.database(databaseId);
266
277
  const container = database.container(containerId);
267
- // Ensure the record has an id
268
- const recordWithId = {
269
- ...record,
270
- id: record.id ?? (0, platform_helper_util_1.newGuid)()
271
- };
278
+ if (props.onPreprocessRecordWithExistingRecord) {
279
+ const { resource: existingRecord } = await container.item(record.id).read();
280
+ record = await props.onPreprocessRecordWithExistingRecord(record, existingRecord);
281
+ }
272
282
  // Use upsert operation which creates if not exists or replaces if exists
273
- const response = await container.items.upsert(recordWithId);
283
+ const response = await container.items.upsert(record);
274
284
  // Check if this was a new document or an update
275
285
  // Cosmos DB doesn't directly tell us, but we can infer from the response
276
286
  const isNew = response.statusCode === 201;
@@ -287,14 +297,18 @@ async function upsert(props) {
287
297
  ...ERROR_INFO,
288
298
  source: "upsert",
289
299
  code: "database-upsert",
290
- message: error instanceof Error ? error.message : 'Failed to upsert record in Cosmos DB'
300
+ message: error instanceof Error ? error.message : "Failed to upsert record in Cosmos DB"
291
301
  }
292
302
  };
293
303
  }
294
304
  }
295
305
  async function update(props) {
296
306
  try {
297
- const { client, databaseId, containerId, record, partitionKey } = props;
307
+ const { client, databaseId, containerId } = props;
308
+ let record = props.record;
309
+ if (props.onPreprocessRecord) {
310
+ record = await props.onPreprocessRecord(record);
311
+ }
298
312
  const errorResult = (0, util_1.validateDatabaseSetting)({
299
313
  service: SERVICE,
300
314
  ...ERROR_INFO,
@@ -317,10 +331,13 @@ async function update(props) {
317
331
  }
318
332
  };
319
333
  }
334
+ if (props.onPreprocessRecord) {
335
+ record = await props.onPreprocessRecord(record);
336
+ }
320
337
  const database = client.database(databaseId);
321
338
  const container = database.container(containerId);
322
- const item = (0, platform_helper_util_1.isNonEmptyString)(partitionKey)
323
- ? container.item(record.id, partitionKey)
339
+ const item = (0, platform_helper_util_1.isNonEmptyString)(record.partitionKey)
340
+ ? container.item(record.id, record.partitionKey)
324
341
  : container.item(record.id);
325
342
  const response = await item.replace(record);
326
343
  return {
@@ -335,7 +352,7 @@ async function update(props) {
335
352
  ...ERROR_INFO,
336
353
  source: "update",
337
354
  code: "database-update",
338
- message: error instanceof Error ? error.message : 'Failed to update record in Cosmos DB'
355
+ message: error instanceof Error ? error.message : "Failed to update record in Cosmos DB"
339
356
  }
340
357
  };
341
358
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cosmosdb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cosmosdb/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @fileoverview AWS DynamoDB implementation
3
3
  */
4
- import { IConnectionForServiceProps, IConnectionResult, IRetrieveResult, IRetrieveProps, ICreateProps, ICreateResult, IUpsertProps, IUpsertResult, IUpdateProps, IUpdateResult } from '../util';
4
+ import { IConnectionForServiceProps, IConnectionResult, IRetrieveResult, IRetrieveProps, IInsertProps, IInsertResult, IUpsertProps, IUpsertResult, IUpdateProps, IUpdateResult } from "../util";
5
5
  /**
6
- * Create AWS DynamoDB connection
6
+ * Insert AWS DynamoDB connection
7
7
  * @param props Connection properties with URI and key
8
8
  * @returns Promise<IConnectionResult>
9
9
  */
@@ -14,9 +14,9 @@ export declare function connect(props: IConnectionForServiceProps): Promise<ICon
14
14
  * @returns Promise<IRetrieveResult>
15
15
  */
16
16
  export declare function retrieve(props: IRetrieveProps): Promise<IRetrieveResult>;
17
- export declare function create(props: ICreateProps): Promise<ICreateResult>;
17
+ export declare function insert(props: IInsertProps): Promise<IInsertResult>;
18
18
  /**
19
- * Upsert (create or update) a document in AWS DynamoDB
19
+ * Upsert (insert or update) a document in AWS DynamoDB
20
20
  * @param props Upsert properties with client, containerId (table name), and record
21
21
  * @returns Promise<IUpsertResult>
22
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dynamodb/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEH,0BAA0B,EAAE,iBAAiB,EAC7C,eAAe,EAAE,cAAc,EAC/B,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAC9B,MAAM,SAAS,CAAC;AAYjB;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuE3F;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAmD9E;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAqExE;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAoFxE;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA6GxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dynamodb/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEH,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EAChB,MAAM,SAAS,CAAC;AAiBjB;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuE3F;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAqD9E;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA8CxE;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA8DxE;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA2FxE"}
@@ -5,7 +5,7 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.connect = connect;
7
7
  exports.retrieve = retrieve;
8
- exports.create = create;
8
+ exports.insert = insert;
9
9
  exports.upsert = upsert;
10
10
  exports.update = update;
11
11
  const util_1 = require("../util");
@@ -19,7 +19,7 @@ const ERROR_INFO = {
19
19
  module: "database-dynamodb"
20
20
  };
21
21
  /**
22
- * Create AWS DynamoDB connection
22
+ * Insert AWS DynamoDB connection
23
23
  * @param props Connection properties with URI and key
24
24
  * @returns Promise<IConnectionResult>
25
25
  */
@@ -49,7 +49,7 @@ async function connect(props) {
49
49
  };
50
50
  }
51
51
  // Parse AWS credentials from key (format: accessKeyId:secretAccessKey)
52
- const [accessKeyId, secretAccessKey] = key.split(':');
52
+ const [accessKeyId, secretAccessKey] = key.split(":");
53
53
  if (!accessKeyId || !secretAccessKey) {
54
54
  return {
55
55
  service: SERVICE,
@@ -61,15 +61,15 @@ async function connect(props) {
61
61
  }
62
62
  };
63
63
  }
64
- // Create DynamoDB client configuration
64
+ // Insert DynamoDB client configuration
65
65
  const clientConfig = {
66
66
  credentials: {
67
67
  accessKeyId,
68
68
  secretAccessKey
69
69
  },
70
- endpoint: uri.startsWith('http') ? uri : undefined
70
+ endpoint: uri.startsWith("http") ? uri : undefined
71
71
  };
72
- // Create AWS DynamoDB client
72
+ // Insert AWS DynamoDB client
73
73
  const client = new client_dynamodb_1.DynamoDBClient(clientConfig);
74
74
  return {
75
75
  service: SERVICE,
@@ -83,7 +83,7 @@ async function connect(props) {
83
83
  ...ERROR_INFO,
84
84
  source: "connect",
85
85
  code: "database-connect",
86
- message: error instanceof Error ? error.message : 'Failed to connect to AWS DynamoDB'
86
+ message: error instanceof Error ? error.message : "Failed to connect to AWS DynamoDB"
87
87
  }
88
88
  };
89
89
  }
@@ -107,7 +107,7 @@ async function retrieve(props) {
107
107
  if (errorResult) {
108
108
  return errorResult;
109
109
  }
110
- // Create GetItem command
110
+ // Insert GetItem command
111
111
  const command = new client_dynamodb_1.GetItemCommand({
112
112
  TableName: containerId,
113
113
  Key: (0, util_dynamodb_1.marshall)({ id })
@@ -133,14 +133,20 @@ async function retrieve(props) {
133
133
  ...ERROR_INFO,
134
134
  source: "retrieve",
135
135
  code: "database-retrieve",
136
- message: error instanceof Error ? error.message : 'Failed to retrieve document from DynamoDB'
136
+ message: error instanceof Error
137
+ ? error.message
138
+ : "Failed to retrieve document from DynamoDB"
137
139
  }
138
140
  };
139
141
  }
140
142
  }
141
- async function create(props) {
143
+ async function insert(props) {
142
144
  try {
143
- const { client, containerId, record, databaseId } = props;
145
+ const { client, containerId, databaseId } = props;
146
+ let record = { ...props.record, id: props.record.id ?? (0, platform_helper_util_1.newGuid)() };
147
+ if (props.onPreprocessRecord) {
148
+ record = await props.onPreprocessRecord(record);
149
+ }
144
150
  const errorResult = (0, util_1.validateDatabaseSetting)({
145
151
  service: SERVICE,
146
152
  ...ERROR_INFO,
@@ -152,40 +158,14 @@ async function create(props) {
152
158
  if (errorResult) {
153
159
  return errorResult;
154
160
  }
155
- if (!containerId) {
156
- return {
157
- service: SERVICE,
158
- error: {
159
- ...ERROR_INFO,
160
- source: "create",
161
- code: "require-container-id",
162
- message: "The containerId (table name) is required"
163
- }
164
- };
165
- }
166
- if (!record) {
167
- return {
168
- service: SERVICE,
169
- error: {
170
- ...ERROR_INFO,
171
- source: "create",
172
- code: "require-record",
173
- message: "The record is required"
174
- }
175
- };
176
- }
177
- const item = {
178
- ...record,
179
- id: record.id ?? (0, platform_helper_util_1.newGuid)()
180
- };
181
161
  const command = new client_dynamodb_1.PutItemCommand({
182
162
  TableName: containerId,
183
- Item: (0, util_dynamodb_1.marshall)(item)
163
+ Item: (0, util_dynamodb_1.marshall)(record)
184
164
  });
185
165
  await client.send(command);
186
166
  return {
187
167
  service: SERVICE,
188
- result: item
168
+ result: record
189
169
  };
190
170
  }
191
171
  catch (error) {
@@ -193,21 +173,25 @@ async function create(props) {
193
173
  service: SERVICE,
194
174
  error: {
195
175
  ...ERROR_INFO,
196
- source: "create",
197
- code: "database-create",
198
- message: error instanceof Error ? error.message : 'Failed to create record in DynamoDB'
176
+ source: "insert",
177
+ code: "database-insert",
178
+ message: error instanceof Error ? error.message : "Failed to insert record in DynamoDB"
199
179
  }
200
180
  };
201
181
  }
202
182
  }
203
183
  /**
204
- * Upsert (create or update) a document in AWS DynamoDB
184
+ * Upsert (insert or update) a document in AWS DynamoDB
205
185
  * @param props Upsert properties with client, containerId (table name), and record
206
186
  * @returns Promise<IUpsertResult>
207
187
  */
208
188
  async function upsert(props) {
209
189
  try {
210
- const { client, containerId, record, databaseId } = props;
190
+ const { client, containerId, databaseId } = props;
191
+ let record = { ...props.record, id: props.record.id ?? (0, platform_helper_util_1.newGuid)() };
192
+ if (props.onPreprocessRecord) {
193
+ record = await props.onPreprocessRecord(record);
194
+ }
211
195
  const errorResult = (0, util_1.validateDatabaseSetting)({
212
196
  service: SERVICE,
213
197
  ...ERROR_INFO,
@@ -219,52 +203,27 @@ async function upsert(props) {
219
203
  if (errorResult) {
220
204
  return errorResult;
221
205
  }
222
- if (!containerId) {
223
- return {
224
- service: SERVICE,
225
- error: {
226
- ...ERROR_INFO,
227
- source: "upsert",
228
- code: "require-container-id",
229
- message: "The containerId (table name) is required"
230
- }
231
- };
232
- }
233
- if (!record) {
234
- return {
235
- service: SERVICE,
236
- error: {
237
- ...ERROR_INFO,
238
- source: "upsert",
239
- code: "require-record",
240
- message: "The record is required"
241
- }
242
- };
243
- }
244
- // Ensure the record has an id
245
- const recordWithId = {
246
- ...record,
247
- id: record.id ?? (0, platform_helper_util_1.newGuid)()
248
- };
249
206
  // Check if the item exists to determine if this is a new record
250
207
  let isNew = true;
251
- if (record.id) {
252
- const getCommand = new client_dynamodb_1.GetItemCommand({
253
- TableName: containerId,
254
- Key: (0, util_dynamodb_1.marshall)({ id: record.id })
255
- });
256
- const getResponse = await client.send(getCommand);
257
- isNew = !getResponse.Item;
208
+ const getCommand = new client_dynamodb_1.GetItemCommand({
209
+ TableName: containerId,
210
+ Key: (0, util_dynamodb_1.marshall)({ id: record.id })
211
+ });
212
+ const getResponse = await client.send(getCommand);
213
+ isNew = !getResponse.Item;
214
+ if (props.onPreprocessRecordWithExistingRecord) {
215
+ const existingRecord = getResponse.Item ? (0, util_dynamodb_1.unmarshall)(getResponse.Item) : undefined;
216
+ record = await props.onPreprocessRecordWithExistingRecord(record, existingRecord);
258
217
  }
259
- // Use PutItem which will create or replace the item
218
+ // Use PutItem which will insert or replace the item
260
219
  const putCommand = new client_dynamodb_1.PutItemCommand({
261
220
  TableName: containerId,
262
- Item: (0, util_dynamodb_1.marshall)(recordWithId)
221
+ Item: (0, util_dynamodb_1.marshall)(record)
263
222
  });
264
223
  await client.send(putCommand);
265
224
  return {
266
225
  service: SERVICE,
267
- result: recordWithId,
226
+ result: record,
268
227
  isNew
269
228
  };
270
229
  }
@@ -275,14 +234,18 @@ async function upsert(props) {
275
234
  ...ERROR_INFO,
276
235
  source: "upsert",
277
236
  code: "database-upsert",
278
- message: error instanceof Error ? error.message : 'Failed to upsert record in DynamoDB'
237
+ message: error instanceof Error ? error.message : "Failed to upsert record in DynamoDB"
279
238
  }
280
239
  };
281
240
  }
282
241
  }
283
242
  async function update(props) {
284
243
  try {
285
- const { client, databaseId, containerId, record } = props;
244
+ const { client, databaseId, containerId } = props;
245
+ let record = props.record;
246
+ if (props.onPreprocessRecord) {
247
+ record = await props.onPreprocessRecord(record);
248
+ }
286
249
  const errorResult = (0, util_1.validateDatabaseSetting)({
287
250
  service: SERVICE,
288
251
  ...ERROR_INFO,
@@ -294,28 +257,6 @@ async function update(props) {
294
257
  if (errorResult) {
295
258
  return errorResult;
296
259
  }
297
- if (!containerId) {
298
- return {
299
- service: SERVICE,
300
- error: {
301
- ...ERROR_INFO,
302
- source: "update",
303
- code: "require-container-id",
304
- message: "The containerId (table name) is required"
305
- }
306
- };
307
- }
308
- if (!record) {
309
- return {
310
- service: SERVICE,
311
- error: {
312
- ...ERROR_INFO,
313
- source: "update",
314
- code: "require-record",
315
- message: "The record is required"
316
- }
317
- };
318
- }
319
260
  const id = record.id;
320
261
  if (!id) {
321
262
  return {
@@ -328,7 +269,7 @@ async function update(props) {
328
269
  }
329
270
  };
330
271
  }
331
- const entries = Object.entries(record).filter(([k]) => k !== 'id');
272
+ const entries = Object.entries(record).filter(([k]) => k !== "id");
332
273
  if (entries.length === 0) {
333
274
  return {
334
275
  service: SERVICE,
@@ -350,17 +291,17 @@ async function update(props) {
350
291
  ExpressionAttributeValues[valueKey] = value;
351
292
  assignments.push(`${nameKey} = ${valueKey}`);
352
293
  });
353
- const UpdateExpression = `SET ${assignments.join(', ')}`;
294
+ const UpdateExpression = `SET ${assignments.join(", ")}`;
354
295
  const command = new client_dynamodb_1.UpdateItemCommand({
355
296
  TableName: containerId,
356
297
  Key: (0, util_dynamodb_1.marshall)({ id }),
357
298
  UpdateExpression,
358
299
  ExpressionAttributeNames,
359
300
  ExpressionAttributeValues: (0, util_dynamodb_1.marshall)(ExpressionAttributeValues),
360
- ReturnValues: 'ALL_NEW'
301
+ ReturnValues: "ALL_NEW"
361
302
  });
362
303
  const resp = await client.send(command);
363
- const data = resp.Attributes ? ((0, util_dynamodb_1.unmarshall)(resp.Attributes)) : (record);
304
+ const data = resp.Attributes ? (0, util_dynamodb_1.unmarshall)(resp.Attributes) : record;
364
305
  return {
365
306
  service: SERVICE,
366
307
  result: data
@@ -373,7 +314,7 @@ async function update(props) {
373
314
  ...ERROR_INFO,
374
315
  source: "update",
375
316
  code: "database-update",
376
- message: error instanceof Error ? error.message : 'Failed to update record in DynamoDB'
317
+ message: error instanceof Error ? error.message : "Failed to update record in DynamoDB"
377
318
  }
378
319
  };
379
320
  }