nestjs-r2-storage 1.2.7 → 1.3.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/README.md CHANGED
@@ -301,21 +301,25 @@ const result = await photoManager.createObjectWithPhotos(payload, photoFields);
301
301
 
302
302
  #### updateObjectWithPhotos()
303
303
 
304
- Updates object with new photos, deletes old files.
304
+ Updates an existing object with new photos. Uses base filename comparison to avoid unnecessary deletes/uploads:
305
+
306
+ - Extracts base filename (strips extension + trailing timestamps)
307
+ - Only deletes old photo if base filename is different
308
+ - Only generates upload URL if base filename is different
305
309
 
306
310
  ```typescript
307
311
  const result = await photoManager.updateObjectWithPhotos(
308
- newPayload,
309
- existingObject,
312
+ newPayload, // payload with new photo data
313
+ existingObject, // existing object with old photo data
310
314
  photoFields,
311
315
  );
312
316
 
313
317
  // result = {
314
- // updatedPayload: { ... },
315
- // uploadUrls: [{ field, fileKey, uploadUrl, publicUrl }],
316
- // storageIncrease: 1000,
317
- // storageDecrease: 500,
318
- // deletedFiles: ['old-file.png']
318
+ // updatedPayload: { ... }, // merged payload
319
+ // uploadUrls: [{ field, fileKey, uploadUrl, publicUrl }], // new upload URLs
320
+ // storageIncrease: 1000, // new files size
321
+ // storageDecrease: 500, // deleted files size
322
+ // deletedFiles: ['old-file.png'] // files that were deleted
319
323
  // }
320
324
  ```
321
325
 
@@ -49,6 +49,8 @@ export declare class PhotoManagerService {
49
49
  private extractArrayFieldUploadRequests;
50
50
  private extractExistingFiles;
51
51
  private determineFilesToDelete;
52
+ private filterNewPhotoRequests;
52
53
  private normalizeFilename;
54
+ private extractBaseFilename;
53
55
  private updateArrayFieldWithNewFileKey;
54
56
  }
@@ -132,6 +132,7 @@ let PhotoManagerService = class PhotoManagerService {
132
132
  const deletedFiles = [];
133
133
  const existingFiles = this.extractExistingFiles(existingObject, photoFields);
134
134
  const newPhotoRequests = this.extractPhotoUploadRequests(payload, photoFields, filePrefix);
135
+ const photoRequestsNeedingUpload = 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(newPhotoRequests.map(async (request) => {
147
+ const uploadResults = await Promise.all(photoRequestsNeedingUpload.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;
@@ -173,7 +174,8 @@ let PhotoManagerService = class PhotoManagerService {
173
174
  };
174
175
  }
175
176
  async deletePhotosFromObject(object, photoFields) {
176
- const fileKeys = this.extractExistingFiles(object, photoFields);
177
+ const fileKeyInfos = this.extractExistingFiles(object, photoFields);
178
+ const fileKeys = fileKeyInfos.map((f) => f.fileKey);
177
179
  const deletedFiles = [];
178
180
  let totalStorageFreed = 0;
179
181
  if (fileKeys.length === 0) {
@@ -196,9 +198,8 @@ let PhotoManagerService = class PhotoManagerService {
196
198
  const requests = [];
197
199
  for (const photoField of photoFields) {
198
200
  const fieldValue = (0, nested_value_util_1.getNestedValue)(payload, photoField.field);
199
- if (!fieldValue) {
201
+ if (!fieldValue)
200
202
  continue;
201
- }
202
203
  if ((0, nested_value_util_1.isArrayPath)(photoField.field)) {
203
204
  const arrayRequests = this.extractArrayFieldUploadRequests(payload, photoField, filePrefix);
204
205
  requests.push(...arrayRequests);
@@ -207,7 +208,10 @@ let PhotoManagerService = class PhotoManagerService {
207
208
  const sizeValue = photoField.sizeField
208
209
  ? (0, nested_value_util_1.getNestedValue)(payload, photoField.sizeField)
209
210
  : 0;
210
- if (typeof fieldValue === "string" && fieldValue.length > 0) {
211
+ if (typeof fieldValue === "string" &&
212
+ fieldValue.length > 0 &&
213
+ sizeValue > 0 &&
214
+ !fieldValue.includes("/")) {
211
215
  requests.push({
212
216
  field: photoField.field,
213
217
  filename: fieldValue,
@@ -223,17 +227,15 @@ let PhotoManagerService = class PhotoManagerService {
223
227
  const requests = [];
224
228
  const { segments } = (0, nested_value_util_1.parseFieldPath)(photoField.field);
225
229
  const lastArrayIndex = segments.findIndex((s) => s.isArray);
226
- if (lastArrayIndex === -1) {
230
+ if (lastArrayIndex === -1)
227
231
  return requests;
228
- }
229
232
  const arrayPath = segments
230
233
  .slice(0, lastArrayIndex + 1)
231
234
  .map((s) => s.key)
232
235
  .join(".");
233
236
  const arrayValue = (0, nested_value_util_1.getNestedValue)(payload, arrayPath);
234
- if (!arrayValue || !Array.isArray(arrayValue)) {
237
+ if (!arrayValue || !Array.isArray(arrayValue))
235
238
  return requests;
236
- }
237
239
  const { key: photoKey } = segments[segments.length - 1];
238
240
  const sizeKey = photoField.sizeField
239
241
  ? photoField.sizeField.split(".").pop()
@@ -241,22 +243,24 @@ let PhotoManagerService = class PhotoManagerService {
241
243
  for (let i = 0; i < arrayValue.length; i++) {
242
244
  const item = arrayValue[i];
243
245
  const photoValue = item[photoKey];
244
- if (!photoValue || typeof photoValue !== "string") {
245
- continue;
246
- }
247
246
  const sizeValue = sizeKey ? item[sizeKey] || 0 : 0;
248
- const fieldPath = `${arrayPath}[${i}].${photoKey}`;
249
- requests.push({
250
- field: fieldPath,
251
- filename: photoValue,
252
- size: sizeValue,
253
- prefix: filePrefix,
254
- });
247
+ if (typeof photoValue === "string" &&
248
+ photoValue.length > 0 &&
249
+ sizeValue > 0 &&
250
+ !photoValue.includes("/")) {
251
+ const fieldPath = `${arrayPath}[${i}].${photoKey}`;
252
+ requests.push({
253
+ field: fieldPath,
254
+ filename: photoValue,
255
+ size: sizeValue,
256
+ prefix: filePrefix,
257
+ });
258
+ }
255
259
  }
256
260
  return requests;
257
261
  }
258
262
  extractExistingFiles(object, photoFields) {
259
- const fileKeys = [];
263
+ const fileInfos = [];
260
264
  for (const photoField of photoFields) {
261
265
  const fieldValue = (0, nested_value_util_1.getNestedValue)(object, photoField.field);
262
266
  if (!fieldValue) {
@@ -277,25 +281,69 @@ let PhotoManagerService = class PhotoManagerService {
277
281
  continue;
278
282
  }
279
283
  const { key } = segments[segments.length - 1];
280
- for (const item of arrayValue) {
284
+ for (let i = 0; i < arrayValue.length; i++) {
285
+ const item = arrayValue[i];
281
286
  if (item && item[key] && typeof item[key] === "string") {
282
- fileKeys.push(item[key]);
287
+ fileInfos.push({
288
+ field: `${arrayPath}[${i}].${key}`,
289
+ fileKey: item[key],
290
+ });
283
291
  }
284
292
  }
285
293
  }
286
294
  else if (typeof fieldValue === "string" && fieldValue.length > 0) {
287
- fileKeys.push(fieldValue);
295
+ fileInfos.push({
296
+ field: photoField.field,
297
+ fileKey: fieldValue,
298
+ });
288
299
  }
289
300
  }
290
- return fileKeys;
301
+ return fileInfos;
291
302
  }
292
303
  determineFilesToDelete(existingFiles, newRequests) {
293
- const newFilenames = new Set(newRequests.map((r) => this.normalizeFilename(r.filename)));
294
- return existingFiles.filter((file) => !newFilenames.has(this.normalizeFilename(file)));
304
+ const filesToDelete = [];
305
+ for (const existing of existingFiles) {
306
+ const matchingRequest = newRequests.find((req) => req.field === existing.field);
307
+ if (!matchingRequest)
308
+ continue;
309
+ const existingBase = this.extractBaseFilename(existing.fileKey);
310
+ const newBase = this.extractBaseFilename(matchingRequest.filename);
311
+ if (existingBase === newBase)
312
+ continue;
313
+ filesToDelete.push(existing.fileKey);
314
+ }
315
+ return filesToDelete;
316
+ }
317
+ filterNewPhotoRequests(existingFiles, newRequests) {
318
+ return newRequests.filter((req) => {
319
+ const existing = existingFiles.find((f) => f.field === req.field);
320
+ if (!existing)
321
+ return true;
322
+ const existingBase = this.extractBaseFilename(existing.fileKey);
323
+ const newBase = this.extractBaseFilename(req.filename);
324
+ return existingBase !== newBase;
325
+ });
295
326
  }
296
327
  normalizeFilename(filename) {
297
328
  return filename.split("/").pop() || filename;
298
329
  }
330
+ extractBaseFilename(fileKey) {
331
+ const name = this.normalizeFilename(fileKey);
332
+ const lastDot = name.lastIndexOf(".");
333
+ const base = lastDot > 0 ? name.slice(0, lastDot) : name;
334
+ const parts = base.split("_");
335
+ const numericParts = [];
336
+ for (let i = parts.length - 1; i >= 0; i--) {
337
+ if (/^\d+$/.test(parts[i])) {
338
+ numericParts.unshift(parts[i]);
339
+ }
340
+ else {
341
+ break;
342
+ }
343
+ }
344
+ const basePartCount = parts.length - Math.min(numericParts.length, 2);
345
+ return basePartCount > 0 ? parts.slice(0, basePartCount).join("_") : base;
346
+ }
299
347
  async updateArrayFieldWithNewFileKey(payload, fieldPath, oldFilename, newFileKey) {
300
348
  const { segments } = (0, nested_value_util_1.parseFieldPath)(fieldPath);
301
349
  const lastArrayIndex = segments.findIndex((s) => s.isArray);
@@ -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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"}