feat(drive): permanent deletion per drive

This commit is contained in:
Edouard Vanbelle
2026-06-24 21:31:59 +02:00
parent 7d24015fc4
commit b73f176024
10 changed files with 596 additions and 23 deletions
+10
View File
@@ -19,4 +19,14 @@ pub trait TrashUseCase: Send + Sync {
/// Empty the trash for a specific user
async fn empty_trash(&self, user_id: Uuid) -> Result<()>;
/// Empty the trash within a single drive the caller can Delete in.
///
/// Same destructive shape as `empty_trash`, but scoped to one drive
/// — the Drive group-by on `/trash` exposes a per-row "Empty"
/// affordance so multi-drive owners can clear one drive without
/// touching the others. Refused (`NotFound`) when the caller has no
/// Delete-bearing role on the named drive (anti-enum: same shape
/// as if the drive didn't exist), or when the drive id is unknown.
async fn empty_trash_for_drive(&self, user_id: Uuid, drive_id: Uuid) -> Result<()>;
}