diff --git a/apps/viewer/src/features/fileUpload/api/generateUploadUrl.ts b/apps/viewer/src/features/fileUpload/api/generateUploadUrl.ts index 3bcce2c67..64b552918 100644 --- a/apps/viewer/src/features/fileUpload/api/generateUploadUrl.ts +++ b/apps/viewer/src/features/fileUpload/api/generateUploadUrl.ts @@ -172,7 +172,7 @@ export const generateUploadUrl = publicProcedure filePath, maxFileSize: fileUploadBlock.options && 'sizeLimit' in fileUploadBlock.options - ? fileUploadBlock.options.sizeLimit + ? (fileUploadBlock.options.sizeLimit as string) : env.NEXT_PUBLIC_BOT_FILE_UPLOAD_MAX_SIZE, }) diff --git a/packages/lib/s3/deleteFilesFromBucket.ts b/packages/lib/s3/deleteFilesFromBucket.ts index aaed76a59..177934461 100644 --- a/packages/lib/s3/deleteFilesFromBucket.ts +++ b/packages/lib/s3/deleteFilesFromBucket.ts @@ -22,10 +22,22 @@ export const deleteFilesFromBucket = async ({ const bucket = env.S3_BUCKET - return minioClient.removeObjects( - bucket, - urls - .filter((url) => url.includes(env.S3_ENDPOINT as string)) - .map((url) => url.split(`/${bucket}/`)[1]) + const keys = urls.reduce( + (keys, url) => [ + ...keys, + ...addKeyIfIncludesPublicCustomDomain(url), + ...addKeyIfIncludesDefaultEndpoint(url, bucket), + ], + [] ) + + return minioClient.removeObjects(bucket, keys) } + +const addKeyIfIncludesPublicCustomDomain = (url: string) => + env.S3_PUBLIC_CUSTOM_DOMAIN && url.includes(env.S3_PUBLIC_CUSTOM_DOMAIN) + ? [url.split(env.S3_PUBLIC_CUSTOM_DOMAIN + '/')[1]] + : [] + +const addKeyIfIncludesDefaultEndpoint = (url: string, bucket: string) => + url.includes(env.S3_ENDPOINT as string) ? [url.split(`/${bucket}/`)[1]] : []