@squiz/db-lib 1.77.0 → 1.77.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 1.77.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 77454c5: Updates to handling storage location in ExternalizedDynamoDbRepository
8
+
3
9
  ## 1.77.0
4
10
 
5
11
  ### Minor Changes
@@ -37,6 +37,13 @@ export declare abstract class ExternalizedDynamoDbRepository<SHAPE extends objec
37
37
  constructor(tableName: string, dbManager: DynamoDbManager<any>, entityName: string, entityDefinition: EntityDefinition, classRef: {
38
38
  new (data?: Record<string, unknown>): DATA_CLASS;
39
39
  }, storage: S3ExternalStorage);
40
+ /**
41
+ * Removes storageLocation from the response.
42
+ * storageLocation is an internal S3 storage implementation detail that should never be exposed to API consumers.
43
+ * @param {DATA_CLASS} item - The item to process.
44
+ * @returns {DATA_CLASS} The item without storageLocation.
45
+ */
46
+ private removeStorageLocationFromResponse;
40
47
  /**
41
48
  * Creates a new item in the repository.
42
49
  * If the item exceeds DynamoDB's size limit, it will automatically externalize the content to S3.
@@ -107,6 +114,7 @@ export declare abstract class ExternalizedDynamoDbRepository<SHAPE extends objec
107
114
  * Prepares a value for storage by externalizing large content to S3.
108
115
  * @param {DATA_CLASS} value - The value to prepare for storage.
109
116
  * @returns {Promise<DATA_CLASS>} A promise that resolves to the prepared value for DynamoDB.
117
+ * @throws {Error} If S3 storage is not configured or if saving to S3 fails.
110
118
  */
111
119
  prepareValueForStorage(value: DATA_CLASS): Promise<DATA_CLASS>;
112
120
  /**
@@ -123,6 +131,13 @@ export declare abstract class ExternalizedDynamoDbRepository<SHAPE extends objec
123
131
  * The parent's hydrateItem creates a new instance which strips storageLocation
124
132
  */
125
133
  protected hydrateItem(item: Record<string, unknown>): DATA_CLASS;
134
+ /**
135
+ * Checks if content is actually stored in S3 by examining if large content fields are empty.
136
+ * When content is externalized to S3, fieldsAsJsonString fields are set to empty objects/arrays.
137
+ * @param {DATA_CLASS} item - The item to check.
138
+ * @returns {boolean} True if content is in S3, false if content is in DynamoDB.
139
+ */
140
+ private isContentInS3;
126
141
  /**
127
142
  * Hydrates a record from external storage.
128
143
  * @param {DATA_CLASS} record - The record to hydrate.
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalizedDynamoDbRepository.d.ts","sourceRoot":"","sources":["../../src/externalized/ExternalizedDynamoDbRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACpH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,8BAAsB,8BAA8B,CAClD,KAAK,SAAS,MAAM,EACpB,UAAU,SAAS,KAAK,GAAG;IAAE,eAAe,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAClE,SAAQ,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;IAkBnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB1B;;;;;;;;;;OAUG;gBAED,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE;QAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAA;KAAE,EAC7C,OAAO,EAAE,iBAAiB;IAK7C;;;;;;;;OAQG;IACU,UAAU,CACrB,KAAK,EAAE,UAAU,EACjB,WAAW,GAAE,WAAgB,EAC7B,eAAe,GAAE,OAAO,CAAC,KAAK,CAAM,EACpC,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAgC,GACpE,OAAO,CAAC,UAAU,CAAC;IAgBtB;;;;;;;OAOG;YACW,kBAAkB;IA4FhC;;;;;OAKG;IACU,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAgB/E;;;;OAIG;YACW,kBAAkB;IA4FhC;;;;OAIG;IACU,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAK3E;;;;OAIG;IACU,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKrE;;;;;OAKG;IACU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAK5F;;;;;OAKG;IACU,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IASpG;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE;;;;OAIG;IACU,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA6B3E;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA6BnF;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;IAehE;;;;OAIG;YACW,0BAA0B;IAUxC;;;;OAIG;YACW,mBAAmB;IAmBjC;;;;OAIG;IACH,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IA8B7D;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAa7B"}
1
+ {"version":3,"file":"ExternalizedDynamoDbRepository.d.ts","sourceRoot":"","sources":["../../src/externalized/ExternalizedDynamoDbRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACpH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,8BAAsB,8BAA8B,CAClD,KAAK,SAAS,MAAM,EACpB,UAAU,SAAS,KAAK,GAAG;IAAE,eAAe,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAClE,SAAQ,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;IAkBnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB1B;;;;;;;;;;OAUG;gBAED,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE;QAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAA;KAAE,EAC7C,OAAO,EAAE,iBAAiB;IAK7C;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IAQzC;;;;;;;;OAQG;IACU,UAAU,CACrB,KAAK,EAAE,UAAU,EACjB,WAAW,GAAE,WAAgB,EAC7B,eAAe,GAAE,OAAO,CAAC,KAAK,CAAM,EACpC,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAgC,GACpE,OAAO,CAAC,UAAU,CAAC;IAkBtB;;;;;;;OAOG;YACW,kBAAkB;IAkGhC;;;;;OAKG;IACU,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAkB/E;;;;OAIG;YACW,kBAAkB;IA0HhC;;;;OAIG;IACU,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAK3E;;;;OAIG;IACU,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKrE;;;;;OAKG;IACU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAK5F;;;;;OAKG;IACU,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IASpG;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE;;;;;OAKG;IACU,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA6B3E;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA6BnF;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;IAehE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;;OAIG;YACW,0BAA0B;IAUxC;;;;OAIG;YACW,mBAAmB;IAmBjC;;;;OAIG;IACH,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IA8B7D;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAa7B"}
@@ -40,6 +40,19 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
40
40
  super(tableName, dbManager, entityName, entityDefinition, classRef);
41
41
  this.storage = storage;
42
42
  }
43
+ /**
44
+ * Removes storageLocation from the response.
45
+ * storageLocation is an internal S3 storage implementation detail that should never be exposed to API consumers.
46
+ * @param {DATA_CLASS} item - The item to process.
47
+ * @returns {DATA_CLASS} The item without storageLocation.
48
+ */
49
+ removeStorageLocationFromResponse(item) {
50
+ if (item.storageLocation !== undefined) {
51
+ const { storageLocation: _storageLocation, ...itemWithoutStorage } = item;
52
+ return new this.classRef(itemWithoutStorage);
53
+ }
54
+ return item;
55
+ }
43
56
  /**
44
57
  * Creates a new item in the repository.
45
58
  * If the item exceeds DynamoDB's size limit, it will automatically externalize the content to S3.
@@ -51,14 +64,16 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
51
64
  */
52
65
  async createItem(value, transaction = {}, additionalValue = {}, options = { overrideExisting: false }) {
53
66
  try {
54
- return await this.createItemInternal(value, transaction, additionalValue, options);
67
+ const result = await this.createItemInternal(value, transaction, additionalValue, options);
68
+ return this.removeStorageLocationFromResponse(result);
55
69
  }
56
70
  catch (error) {
57
71
  // If the item exceeds DynamoDB's size limit, externalize the content to S3 and retry
58
72
  if (this.isDynamoItemSizeLimitError(error)) {
59
73
  console.warn(`ExternalizedDynamoDbRepository: Item exceeded DynamoDB size limit for ${this.entityName}. Retrying with external storage.`);
60
74
  const externalizedValue = await this.prepareValueForStorage(value);
61
- return await this.createItemInternal(externalizedValue, transaction, additionalValue, options);
75
+ const result = await this.createItemInternal(externalizedValue, transaction, additionalValue, options);
76
+ return this.removeStorageLocationFromResponse(result);
62
77
  }
63
78
  throw error;
64
79
  }
@@ -146,8 +161,13 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
146
161
  if (previousLocation && previousLocation.key !== (newLocation === null || newLocation === void 0 ? void 0 : newLocation.key)) {
147
162
  await this.storage.delete(previousLocation);
148
163
  }
149
- // If item was externalized, hydrate it from S3 to return full content
150
- return (await this.hydrateFromExternalStorage(createdItem)) || createdItem;
164
+ // Check if we should hydrate from S3
165
+ // Only hydrate if content is actually stored in S3 (not just stale storageLocation)
166
+ if (this.isContentInS3(createdItem)) {
167
+ // Content fields are empty, so full content is in S3
168
+ return (await this.hydrateFromExternalStorage(createdItem)) || createdItem;
169
+ }
170
+ return createdItem;
151
171
  }
152
172
  /**
153
173
  * Updates an item in the repository.
@@ -157,14 +177,16 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
157
177
  */
158
178
  async updateItem(value) {
159
179
  try {
160
- return await this.updateItemInternal(value);
180
+ const result = await this.updateItemInternal(value);
181
+ return result ? this.removeStorageLocationFromResponse(result) : undefined;
161
182
  }
162
183
  catch (error) {
163
184
  // If the item exceeds DynamoDB's size limit, externalize the content to S3 and retry
164
185
  if (this.isDynamoItemSizeLimitError(error)) {
165
186
  console.warn(`ExternalizedDynamoDbRepository: Update exceeded DynamoDB size limit for ${this.entityName}. Retrying with external storage.`);
166
187
  const externalizedValue = await this.prepareValueForStorage(value);
167
- return await this.updateItemInternal(externalizedValue);
188
+ const result = await this.updateItemInternal(externalizedValue);
189
+ return result ? this.removeStorageLocationFromResponse(result) : undefined;
168
190
  }
169
191
  throw error;
170
192
  }
@@ -175,6 +197,7 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
175
197
  * @returns {Promise<DATA_CLASS | undefined>} A promise that resolves to the updated item.
176
198
  */
177
199
  async updateItemInternal(value) {
200
+ var _a;
178
201
  // Fetch previous storageLocation before update
179
202
  const previousLocation = await this.fetchStoredLocation(value);
180
203
  // If storageLocation exists in the update, we need to save it directly to DynamoDB
@@ -233,10 +256,14 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
233
256
  };
234
257
  const result = await this.client.update(updateCommandInput);
235
258
  updatedItem = result.Attributes ? this.hydrateItem(result.Attributes) : undefined;
259
+ // Preserve storageLocation from DynamoDB response (hydrateItem might strip it)
260
+ if (updatedItem && ((_a = result.Attributes) === null || _a === void 0 ? void 0 : _a.storageLocation)) {
261
+ updatedItem.storageLocation = result.Attributes.storageLocation;
262
+ }
236
263
  }
237
264
  }
238
265
  else {
239
- // No storageLocation, use parent's method
266
+ // No storageLocation in update value, use parent's method
240
267
  // Strip storageLocation before passing to parent to avoid "Excess properties" error
241
268
  const { storageLocation: _, ...valueWithoutStorage } = value;
242
269
  updatedItem = await super.updateItem(valueWithoutStorage);
@@ -244,13 +271,35 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
244
271
  if (!updatedItem) {
245
272
  return undefined;
246
273
  }
274
+ // Check for stale storageLocation - this happens when content transitions from large (S3) to small (inline DynamoDB)
275
+ // If storageLocation exists but content is NOT in S3 (content is inline), the storageLocation is stale
276
+ let newLocation = updatedItem.storageLocation;
277
+ if (newLocation && !this.isContentInS3(updatedItem)) {
278
+ // Remove the stale storageLocation from DynamoDB
279
+ await this.client.update({
280
+ TableName: this.tableName,
281
+ Key: {
282
+ [this.keys.pk.attributeName]: this.getPk(value),
283
+ [this.keys.sk.attributeName]: this.getSk(value),
284
+ },
285
+ UpdateExpression: 'REMOVE storageLocation',
286
+ });
287
+ // Mark that there's no longer a new S3 location (we just removed it)
288
+ newLocation = undefined;
289
+ delete updatedItem.storageLocation;
290
+ }
247
291
  // Clean up old S3 file if it exists and is different from new location
248
- const newLocation = updatedItem.storageLocation;
249
292
  if (previousLocation && previousLocation.key !== (newLocation === null || newLocation === void 0 ? void 0 : newLocation.key)) {
250
293
  await this.storage.delete(previousLocation);
251
294
  }
252
- // If item was externalized, hydrate it from S3 to return full content
253
- return (await this.hydrateFromExternalStorage(updatedItem)) || updatedItem;
295
+ // Check if we should hydrate from S3
296
+ // Only hydrate if content is actually stored in S3 (not just stale storageLocation)
297
+ // For large->small updates, DynamoDB might still have storageLocation but content is in DynamoDB
298
+ if (this.isContentInS3(updatedItem)) {
299
+ // Content fields are empty, so full content is in S3
300
+ return (await this.hydrateFromExternalStorage(updatedItem)) || updatedItem;
301
+ }
302
+ return updatedItem;
254
303
  }
255
304
  /**
256
305
  * Gets an item from the repository.
@@ -308,6 +357,7 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
308
357
  * Prepares a value for storage by externalizing large content to S3.
309
358
  * @param {DATA_CLASS} value - The value to prepare for storage.
310
359
  * @returns {Promise<DATA_CLASS>} A promise that resolves to the prepared value for DynamoDB.
360
+ * @throws {Error} If S3 storage is not configured or if saving to S3 fails.
311
361
  */
312
362
  async prepareValueForStorage(value) {
313
363
  const serialized = JSON.stringify(value);
@@ -379,6 +429,28 @@ class ExternalizedDynamoDbRepository extends AbstractDynamoDbRepository_1.Abstra
379
429
  }
380
430
  return hydrated;
381
431
  }
432
+ /**
433
+ * Checks if content is actually stored in S3 by examining if large content fields are empty.
434
+ * When content is externalized to S3, fieldsAsJsonString fields are set to empty objects/arrays.
435
+ * @param {DATA_CLASS} item - The item to check.
436
+ * @returns {boolean} True if content is in S3, false if content is in DynamoDB.
437
+ */
438
+ isContentInS3(item) {
439
+ if (!item.storageLocation) {
440
+ return false;
441
+ }
442
+ // Check if large content fields are empty (indicating content is in S3)
443
+ for (const fieldName of this.fieldsAsJsonString) {
444
+ const fieldValue = item[fieldName];
445
+ if (fieldValue !== undefined) {
446
+ const isEmpty = typeof fieldValue === 'object' && Object.keys(fieldValue).length === 0;
447
+ if (isEmpty) {
448
+ return true;
449
+ }
450
+ }
451
+ }
452
+ return false;
453
+ }
382
454
  /**
383
455
  * Hydrates a record from external storage.
384
456
  * @param {DATA_CLASS} record - The record to hydrate.
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalizedDynamoDbRepository.js","sourceRoot":"","sources":["../../src/externalized/ExternalizedDynamoDbRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExternalizedDynamoDbRepository.js","sourceRoot":"","sources":["../../src/externalized/ExternalizedDynamoDbRepository.ts"],"names":[],"mappings":"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"}