diff --git a/src/media.js b/src/media.js index 3e9a5e84..dbbcac6e 100755 --- a/src/media.js +++ b/src/media.js @@ -1000,41 +1000,37 @@ async function associateAvatars(profiles) { } async function deleteS3Objects(allMedia) { - try { - const statuses = await chunk(allMedia).reduce(async (chain, media) => { - const acc = await chain; + const statuses = await chunk(allMedia).reduce(async (chain, media) => { + const acc = await chain; - const objects = media - .map((item) => [ - { Key: item.path }, - { Key: item.thumbnail }, - { Key: item.lazy }, - ]) - .flat() - .filter((item) => item.Key); + const objects = media + .map((item) => [ + { Key: item.path }, + { Key: item.thumbnail }, + { Key: item.lazy }, + ]) + .flat() + .filter((item) => item.Key); - const deleteCommand = new DeleteObjectsCommand({ - Bucket: config.s3.bucket, - Delete: { - Objects: objects, - Quiet: false, - }, - }); - - const status = await s3.send(deleteCommand); - - logger.info(`Removed ${status.Deleted.length} media files from S3 bucket '${config.s3.bucket}', ${status.Errors.length} errors`); - - return acc.concat(status); - }, Promise.resolve()).catch((error) => { - console.log(error); + const deleteCommand = new DeleteObjectsCommand({ + Bucket: config.s3.bucket, + Delete: { + Objects: objects, + Quiet: false, + }, }); - return statuses; - } catch (error) { - console.log(error); + const status = await s3.send(deleteCommand); + + logger.info(`Removed ${status.Deleted.length} media files from S3 bucket '${config.s3.bucket}', ${status.Errors.length} errors`); + + return acc.concat(status); + }, Promise.resolve()).catch((error) => { + logger.error(`Failed to delete S3 objects: ${error.message}`); throw error; - } + }); + + return statuses; } async function flushOrphanedMedia(stage = 1) {