backend: Remove deleteObject method from S3Service and update S3StorageProvider to use deleteObjects

This commit is contained in:
Carlos Santos 2025-04-10 12:30:33 +02:00
parent d0926ae76e
commit 7b443ca8d3
2 changed files with 1 additions and 24 deletions

View File

@ -92,29 +92,6 @@ export class S3Service {
}
}
/**
* Deletes an object from an S3 bucket.
*
* @param name - The name of the object to delete.
* @param bucket - The name of the S3 bucket (optional, defaults to the `${MEET_S3_BUCKET}/${MEET_S3_SUBBUCKET}`
* @returns A promise that resolves to the result of the delete operation.
* @throws Throws an error if there was an error deleting the object.
*/
async deleteObject(name: string, bucket: string = MEET_S3_BUCKET): Promise<DeleteObjectCommandOutput> {
const fullKey = this.getFullKey(name);
try {
this.logger.verbose(`S3 deleteObject: attempting to delete object ${fullKey} in bucket ${bucket}`);
const command = new DeleteObjectCommand({ Bucket: bucket, Key: name });
const result = await this.run(command);
this.logger.info(`S3 deleteObject: successfully deleted object ${fullKey} in bucket ${bucket}`);
return result;
} catch (error) {
this.logger.error(`S3 deleteObject: error deleting object ${fullKey} in bucket ${bucket}: ${error}`);
throw internalError(error);
}
}
/**
* Bulk deletes objects from S3.
* @param keys Array of object keys to delete. Estos keys deben incluir el subbucket (se obtiene con getFullKey).

View File

@ -337,7 +337,7 @@ export class S3StorageProvider<G extends GlobalPreferences = GlobalPreferences,
): Promise<void> {
if (s3Result.status === 'fulfilled') {
try {
await this.s3Service.deleteObject(s3Path);
await this.s3Service.deleteObjects([s3Path]);
} catch (rollbackError) {
this.logger.error(`Error rolling back S3 save for room ${roomId}: ${rollbackError}`);
}