cli_v2: migrate cleanupincompleteuploads to Admin API

admin api: add CleanupIncompleteUploads spec
This commit is contained in:
Alex Auvolat
2025-01-30 17:45:54 +01:00
parent e96014ca60
commit bdaf55ab3f
8 changed files with 134 additions and 66 deletions
+21
View File
@@ -1,5 +1,6 @@
use std::collections::HashMap;
use std::sync::Arc;
use std::time::Duration;
use async_trait::async_trait;
@@ -388,6 +389,26 @@ impl EndpointHandler for UpdateBucketRequest {
}
}
#[async_trait]
impl EndpointHandler for CleanupIncompleteUploadsRequest {
type Response = CleanupIncompleteUploadsResponse;
async fn handle(self, garage: &Arc<Garage>) -> Result<CleanupIncompleteUploadsResponse, Error> {
let duration = Duration::from_secs(self.older_than_secs);
let bucket_id = parse_bucket_id(&self.bucket_id)?;
let count = garage
.bucket_helper()
.cleanup_incomplete_uploads(&bucket_id, duration)
.await?;
Ok(CleanupIncompleteUploadsResponse {
uploads_deleted: count as u64,
})
}
}
// ---- BUCKET/KEY PERMISSIONS ----
#[async_trait]