mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 11:01:45 +00:00
fix(attachments): limpar arquivos órfãos no S3 em deleções e reset
Três caminhos de deleção não chamavam o cleanup de storage, deixando arquivos órfãos no S3: - deleteTransactionBulkAction: deleções por escopo de série (período, futuras, todas) agora coletam attachments vinculados antes do delete e disparam cleanupAttachmentsAfterTransactionDelete - deleteMultipleTransactionsAction: mesma correção para seleção múltipla de lançamentos - resetUserAppData: reset de conta em Ajustes coleta os fileKeys antes de truncar e remove os objetos do S3 em paralelo Também ajusta deleteS3Object para ignorar NoSuchKey silenciosamente, necessário para providers S3-compatíveis como Cloudflare R2 que não são idempotentes nessa operação. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -48,5 +48,16 @@ export async function deleteS3Object(fileKey: string): Promise<void> {
|
||||
Bucket: S3_BUCKET,
|
||||
Key: fileKey,
|
||||
});
|
||||
await s3.send(command);
|
||||
try {
|
||||
await s3.send(command);
|
||||
} catch (err) {
|
||||
if (
|
||||
err instanceof Error &&
|
||||
"Code" in err &&
|
||||
(err as { Code: string }).Code === "NoSuchKey"
|
||||
) {
|
||||
return;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user