Can delete an uploaded file

This commit is contained in:
Pierre HUBERT 2025-04-14 20:50:53 +02:00
parent 7c04acaf4b
commit 91d8b1a579
2 changed files with 16 additions and 1 deletions

View File

@ -58,3 +58,15 @@ pub async fn serve_file(req: HttpRequest, file: &File) -> HttpResult {
))
.body(files_service::get_file_content(file).await?))
}
/// Delete an uploaded file
pub async fn delete(file_extractor: FileIdExtractor) -> HttpResult {
match files_service::delete_file_if_unused(file_extractor.as_ref().id()).await {
Ok(true) => Ok(HttpResponse::Accepted().finish()),
Ok(false) => Ok(HttpResponse::Conflict().finish()),
Err(e) => {
log::error!("Failed to delete file: {e}");
Ok(HttpResponse::InternalServerError().finish())
}
}
}

View File

@ -125,7 +125,10 @@ async fn main() -> std::io::Result<()> {
"/api/file/{file_id}",
web::get().to(files_controller::download),
)
// TODO Delete file
.route(
"/api/file/{file_id}",
web::delete().to(files_controller::delete),
)
// Static assets
.route("/", web::get().to(static_controller::root_index))
.route(