refactor(services): add file_lifecycle and blob_lifecycle

- complete src/application/ports/blob_lifecycle.rs with traits:
    * BlobCreationHook
    * BlobDeletionHook

 - add src/application/ports/file_lifecycle.rs with traits:
    * FileCreatedHook
    * FileDeletedHook
    * FileUpdatedHook
This commit is contained in:
Edouard Vanbelle
2026-05-14 00:03:03 +02:00
parent b47013ea8a
commit d85b8055b8
12 changed files with 264 additions and 108 deletions
@@ -164,11 +164,6 @@ async fn handle_assemble(
.await
.map_err(|e| AppError::internal_error(format!("Failed to update file: {}", e)))?;
state
.core
.refresh_thumbnails_after_update(dto.id.clone(), dto.etag.clone(), &content_type)
.await;
Some(dto.etag)
} else {
// For new files we still need to read the temp file since create_file takes &[u8].
@@ -566,16 +566,6 @@ async fn handle_put(
}
}
// Bug 1 & 2 fix: invalidate stale thumbnail and regenerate from new blob.
state
.core
.refresh_thumbnails_after_update(
updated.id.clone(),
updated.etag.clone(),
&content_type,
)
.await;
return Ok(Response::builder()
.status(StatusCode::NO_CONTENT)
.header(header::ETAG, format!("\"{}\"", updated.etag))