nestjs-r2-storage 1.3.4 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -332,6 +332,48 @@ const result = await photoManager.deletePhotosFromObject(product, photoFields);
|
|
|
332
332
|
// }
|
|
333
333
|
```
|
|
334
334
|
|
|
335
|
+
## Upload Detection (Update Operations)
|
|
336
|
+
|
|
337
|
+
The `updateObjectWithPhotos()` method uses intelligent upload detection to prevent unnecessary uploads and file deletions.
|
|
338
|
+
|
|
339
|
+
### Dual-Mode Detection
|
|
340
|
+
|
|
341
|
+
**Mode 1: Explicit Size Detection (when `sizeField` is defined)**
|
|
342
|
+
- Only treats a field as a new upload if `sizeField > 0`
|
|
343
|
+
- If `sizeField` is missing, null, or 0 → treats as existing file (no upload)
|
|
344
|
+
|
|
345
|
+
**Mode 2: Filename Comparison (when `sizeField` is NOT defined)**
|
|
346
|
+
- Compares base filenames between existing fileKey and incoming filename
|
|
347
|
+
- Strips path, extension, and trailing timestamps before comparing
|
|
348
|
+
- Only uploads if the base name differs
|
|
349
|
+
|
|
350
|
+
```typescript
|
|
351
|
+
// Example: existing fileKey = "product_1776949996526.png"
|
|
352
|
+
// Incoming filename = "product.png"
|
|
353
|
+
// extractBaseFilename returns "product" for both → no upload
|
|
354
|
+
|
|
355
|
+
// Example: existing fileKey = "product_1776949996526.png"
|
|
356
|
+
// Incoming filename = "new-product.png"
|
|
357
|
+
// extractBaseFilename returns "product" vs "new-product" → upload
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### Detection Matrix
|
|
361
|
+
|
|
362
|
+
| Scenario | `sizeField` defined | Result |
|
|
363
|
+
|----------|---------------------|--------|
|
|
364
|
+
| Existing file unchanged | yes (size=0) | No upload, no delete |
|
|
365
|
+
| Existing file unchanged | no (same base) | No upload, no delete |
|
|
366
|
+
| Same filename resent | yes (size=0) | No upload |
|
|
367
|
+
| Same filename resent | no (same base) | No upload |
|
|
368
|
+
| New file uploaded | yes (size > 0) | Upload + replace old |
|
|
369
|
+
| New file (no sizeField) | no (different base) | Upload + replace old |
|
|
370
|
+
|
|
371
|
+
### Backward Compatibility
|
|
372
|
+
|
|
373
|
+
- Existing clients that send `sizeField > 0` continue to work as before
|
|
374
|
+
- Clients that don't send `sizeField` get automatic fallback to filename comparison
|
|
375
|
+
- No changes to DTO structure or API required
|
|
376
|
+
|
|
335
377
|
## Field Path Syntax
|
|
336
378
|
|
|
337
379
|
### Simple Nested Fields
|
|
@@ -406,7 +448,16 @@ R2StorageModule.forRootAsync({
|
|
|
406
448
|
|
|
407
449
|
## Changelog
|
|
408
450
|
|
|
409
|
-
### v1.
|
|
451
|
+
### v1.4.0 (2026-04-23)
|
|
452
|
+
|
|
453
|
+
- **Dual-mode upload detection** for `updateObjectWithPhotos()`:
|
|
454
|
+
- Mode 1: Explicit size detection when `sizeField` is defined (size > 0 = new upload)
|
|
455
|
+
- Mode 2: Base filename comparison when `sizeField` is NOT defined
|
|
456
|
+
- **Deterministic file replacement** using `extractBaseFilename()` helper
|
|
457
|
+
- **Backward compatible**: Existing clients work unchanged, clients without `sizeField` get automatic fallback
|
|
458
|
+
- Removed heuristic-based upload detection (no longer relies on filename patterns or "/" presence)
|
|
459
|
+
|
|
460
|
+
### v1.3.4 (2026-04-23)
|
|
410
461
|
|
|
411
462
|
- Refactored getNestedValue: access key first, then handle array segments
|
|
412
463
|
- Refactored setNestedValue: proper handling of empty brackets [] and indexed arrays [0]
|
|
@@ -48,7 +48,8 @@ export declare class PhotoManagerService {
|
|
|
48
48
|
private extractPhotoUploadRequests;
|
|
49
49
|
private extractArrayFieldUploadRequests;
|
|
50
50
|
private extractExistingFiles;
|
|
51
|
+
extractBaseFilename(fileKey: string): string;
|
|
52
|
+
private filterNewPhotoRequests;
|
|
51
53
|
private determineFilesToDelete;
|
|
52
|
-
private normalizeFilename;
|
|
53
54
|
private updateArrayFieldWithNewFileKey;
|
|
54
55
|
}
|
|
@@ -92,7 +92,7 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
92
92
|
let updatedPayload = { ...payload };
|
|
93
93
|
const uploadUrls = [];
|
|
94
94
|
let totalStorageUsed = 0;
|
|
95
|
-
const photoUploadRequests = this.extractPhotoUploadRequests(payload, photoFields, filePrefix);
|
|
95
|
+
const photoUploadRequests = this.extractPhotoUploadRequests(payload, undefined, photoFields, filePrefix);
|
|
96
96
|
const uploadResults = await Promise.all(photoUploadRequests.map(async (request) => {
|
|
97
97
|
const result = await this.cloudflareService.getUploadUrl(request.filename, request.size, request.filename);
|
|
98
98
|
const storageUsed = request.size || 0;
|
|
@@ -131,7 +131,8 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
131
131
|
let storageDecrease = 0;
|
|
132
132
|
const deletedFiles = [];
|
|
133
133
|
const existingFiles = this.extractExistingFiles(existingObject, photoFields);
|
|
134
|
-
const newPhotoRequests = this.extractPhotoUploadRequests(payload, photoFields, filePrefix);
|
|
134
|
+
const newPhotoRequests = this.extractPhotoUploadRequests(payload, existingObject, photoFields, filePrefix);
|
|
135
|
+
const filteredPhotoRequests = this.filterNewPhotoRequests(existingFiles, newPhotoRequests);
|
|
135
136
|
const filesToDelete = this.determineFilesToDelete(existingFiles, newPhotoRequests);
|
|
136
137
|
if (filesToDelete.length > 0) {
|
|
137
138
|
const deleteResults = await this.cloudflareService.deleteFiles(filesToDelete);
|
|
@@ -143,7 +144,7 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
|
-
const uploadResults = await Promise.all(
|
|
147
|
+
const uploadResults = await Promise.all(filteredPhotoRequests.map(async (request) => {
|
|
147
148
|
const response = await this.cloudflareService.getUploadUrl(request.filename, request.size, request.filename);
|
|
148
149
|
const storageUsed = request.size || 0;
|
|
149
150
|
storageIncrease += storageUsed;
|
|
@@ -192,7 +193,7 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
192
193
|
totalStorageFreed,
|
|
193
194
|
};
|
|
194
195
|
}
|
|
195
|
-
extractPhotoUploadRequests(payload, photoFields, filePrefix) {
|
|
196
|
+
extractPhotoUploadRequests(payload, existingObject, photoFields, filePrefix) {
|
|
196
197
|
const requests = [];
|
|
197
198
|
for (const photoField of photoFields) {
|
|
198
199
|
const fieldValue = (0, nested_value_util_1.getNestedValue)(payload, photoField.field);
|
|
@@ -200,26 +201,48 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
200
201
|
continue;
|
|
201
202
|
}
|
|
202
203
|
if ((0, nested_value_util_1.isArrayPath)(photoField.field)) {
|
|
203
|
-
const arrayRequests = this.extractArrayFieldUploadRequests(payload, photoField, filePrefix);
|
|
204
|
+
const arrayRequests = this.extractArrayFieldUploadRequests(payload, existingObject, photoField, filePrefix);
|
|
204
205
|
requests.push(...arrayRequests);
|
|
205
206
|
}
|
|
206
207
|
else {
|
|
207
208
|
const sizeValue = photoField.sizeField
|
|
208
209
|
? (0, nested_value_util_1.getNestedValue)(payload, photoField.sizeField)
|
|
209
|
-
:
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
210
|
+
: undefined;
|
|
211
|
+
const existingValue = existingObject
|
|
212
|
+
? (0, nested_value_util_1.getNestedValue)(existingObject, photoField.field)
|
|
213
|
+
: undefined;
|
|
214
|
+
if (typeof fieldValue !== "string" || fieldValue.length === 0) {
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
if (photoField.sizeField) {
|
|
218
|
+
if (sizeValue > 0) {
|
|
219
|
+
requests.push({
|
|
220
|
+
field: photoField.field,
|
|
221
|
+
filename: fieldValue,
|
|
222
|
+
size: sizeValue || 0,
|
|
223
|
+
prefix: filePrefix,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
const incomingBase = this.extractBaseFilename(fieldValue);
|
|
229
|
+
const existingBase = existingValue
|
|
230
|
+
? this.extractBaseFilename(existingValue)
|
|
231
|
+
: null;
|
|
232
|
+
if (incomingBase !== existingBase) {
|
|
233
|
+
requests.push({
|
|
234
|
+
field: photoField.field,
|
|
235
|
+
filename: fieldValue,
|
|
236
|
+
size: sizeValue || 0,
|
|
237
|
+
prefix: filePrefix,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
217
240
|
}
|
|
218
241
|
}
|
|
219
242
|
}
|
|
220
243
|
return requests;
|
|
221
244
|
}
|
|
222
|
-
extractArrayFieldUploadRequests(payload, photoField, filePrefix) {
|
|
245
|
+
extractArrayFieldUploadRequests(payload, existingObject, photoField, filePrefix) {
|
|
223
246
|
const requests = [];
|
|
224
247
|
const { segments } = (0, nested_value_util_1.parseFieldPath)(photoField.field);
|
|
225
248
|
const lastArrayIndex = segments.findIndex((s) => s.isArray);
|
|
@@ -231,6 +254,9 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
231
254
|
.map((s) => s.key)
|
|
232
255
|
.join(".");
|
|
233
256
|
const arrayValue = (0, nested_value_util_1.getNestedValue)(payload, arrayPath);
|
|
257
|
+
const existingArrayValue = existingObject
|
|
258
|
+
? (0, nested_value_util_1.getNestedValue)(existingObject, arrayPath)
|
|
259
|
+
: undefined;
|
|
234
260
|
if (!arrayValue || !Array.isArray(arrayValue)) {
|
|
235
261
|
return requests;
|
|
236
262
|
}
|
|
@@ -244,12 +270,32 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
244
270
|
if (!photoValue || typeof photoValue !== "string") {
|
|
245
271
|
continue;
|
|
246
272
|
}
|
|
247
|
-
const sizeValue = sizeKey ? item[sizeKey]
|
|
273
|
+
const sizeValue = sizeKey ? item[sizeKey] : undefined;
|
|
274
|
+
const existingItem = Array.isArray(existingArrayValue)
|
|
275
|
+
? existingArrayValue[i]
|
|
276
|
+
: undefined;
|
|
277
|
+
const existingPhotoValue = existingItem
|
|
278
|
+
? existingItem[photoKey]
|
|
279
|
+
: undefined;
|
|
280
|
+
if (photoField.sizeField) {
|
|
281
|
+
if (sizeValue <= 0) {
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
const incomingBase = this.extractBaseFilename(photoValue);
|
|
287
|
+
const existingBase = existingPhotoValue
|
|
288
|
+
? this.extractBaseFilename(existingPhotoValue)
|
|
289
|
+
: null;
|
|
290
|
+
if (incomingBase === existingBase) {
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
248
294
|
const fieldPath = `${arrayPath}[${i}].${photoKey}`;
|
|
249
295
|
requests.push({
|
|
250
296
|
field: fieldPath,
|
|
251
297
|
filename: photoValue,
|
|
252
|
-
size: sizeValue,
|
|
298
|
+
size: sizeValue || 0,
|
|
253
299
|
prefix: filePrefix,
|
|
254
300
|
});
|
|
255
301
|
}
|
|
@@ -289,12 +335,21 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
289
335
|
}
|
|
290
336
|
return fileKeys;
|
|
291
337
|
}
|
|
292
|
-
|
|
293
|
-
const
|
|
294
|
-
|
|
338
|
+
extractBaseFilename(fileKey) {
|
|
339
|
+
const filename = fileKey.split("/").pop() || fileKey;
|
|
340
|
+
const withoutExt = filename.replace(/\.[^.]+$/, "");
|
|
341
|
+
return withoutExt.replace(/_?\d+$/, "");
|
|
342
|
+
}
|
|
343
|
+
filterNewPhotoRequests(existingFiles, newRequests) {
|
|
344
|
+
const existingBaseFilenames = new Set(existingFiles.map((f) => this.extractBaseFilename(f)));
|
|
345
|
+
return newRequests.filter((request) => {
|
|
346
|
+
const requestBase = this.extractBaseFilename(request.filename);
|
|
347
|
+
return !existingBaseFilenames.has(requestBase);
|
|
348
|
+
});
|
|
295
349
|
}
|
|
296
|
-
|
|
297
|
-
|
|
350
|
+
determineFilesToDelete(existingFiles, newRequests) {
|
|
351
|
+
const newBaseFilenames = new Set(newRequests.map((r) => this.extractBaseFilename(r.filename)));
|
|
352
|
+
return existingFiles.filter((file) => !newBaseFilenames.has(this.extractBaseFilename(file)));
|
|
298
353
|
}
|
|
299
354
|
async updateArrayFieldWithNewFileKey(payload, fieldPath, oldFilename, newFileKey) {
|
|
300
355
|
const { segments } = (0, nested_value_util_1.parseFieldPath)(fieldPath);
|
|
@@ -311,14 +366,14 @@ let PhotoManagerService = class PhotoManagerService {
|
|
|
311
366
|
if (!arrayValue || !Array.isArray(arrayValue)) {
|
|
312
367
|
return payload;
|
|
313
368
|
}
|
|
314
|
-
const
|
|
369
|
+
const oldBase = this.extractBaseFilename(oldFilename);
|
|
315
370
|
const updatedArray = arrayValue.map((item) => {
|
|
316
371
|
const itemPhotoValue = item[photoKey];
|
|
317
372
|
if (!itemPhotoValue) {
|
|
318
373
|
return item;
|
|
319
374
|
}
|
|
320
|
-
const
|
|
321
|
-
if (
|
|
375
|
+
const itemBase = this.extractBaseFilename(itemPhotoValue);
|
|
376
|
+
if (itemBase === oldBase) {
|
|
322
377
|
return { ...item, [photoKey]: newFileKey };
|
|
323
378
|
}
|
|
324
379
|
return item;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"photo-manager.service.js","sourceRoot":"","sources":["../../src/r2-storage/photo-manager.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"photo-manager.service.js","sourceRoot":"","sources":["../../src/r2-storage/photo-manager.service.ts"],"names":[],"mappings":"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"}
|