From fe44c467fda33c0a369425410fa3a7a8371e2803 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Mon, 3 Mar 2025 12:58:48 +0000 Subject: [PATCH] Fixing an issue when deleting apps that have nothing stored in object storage, this primarily happens in development environments that haven't stored the client library. --- packages/backend-core/src/objectStore/objectStore.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/backend-core/src/objectStore/objectStore.ts b/packages/backend-core/src/objectStore/objectStore.ts index 064cc630d8..33b42e0131 100644 --- a/packages/backend-core/src/objectStore/objectStore.ts +++ b/packages/backend-core/src/objectStore/objectStore.ts @@ -478,7 +478,7 @@ export async function deleteFolder( if (existingObjectsResponse.Contents?.length === 0) { return } - const deleteParams: any = { + const deleteParams: { Bucket: string; Delete: { Objects: any[] } } = { Bucket: bucketName, Delete: { Objects: [], @@ -489,10 +489,12 @@ export async function deleteFolder( deleteParams.Delete.Objects.push({ Key: content.Key }) }) - const deleteResponse = await client.deleteObjects(deleteParams) - // can only empty 1000 items at once - if (deleteResponse.Deleted?.length === 1000) { - return deleteFolder(bucketName, folder) + if (deleteParams.Delete.Objects.length) { + const deleteResponse = await client.deleteObjects(deleteParams) + // can only empty 1000 items at once + if (deleteResponse.Deleted?.length === 1000) { + return deleteFolder(bucketName, folder) + } } }