[pbs-devel] [RFC v2 proxmox-backup 16/21] api: datastore: add flag to list trashed snapshots only
Christian Ebner
c.ebner at proxmox.com
Thu May 8 15:05:50 CEST 2025
Allows to conditionally show either active or trashed backup
snapshots, the latter being used when displaying the contents of the
trash for given datastore.
Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
src/api2/admin/datastore.rs | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index 84c0bf5b4..cbd24c729 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -473,6 +473,12 @@ pub async fn delete_snapshot(
optional: true,
schema: BACKUP_ID_SCHEMA,
},
+ "trashed": {
+ type: bool,
+ optional: true,
+ default: false,
+ description: "List trashed snapshots only."
+ },
},
},
returns: pbs_api_types::ADMIN_DATASTORE_LIST_SNAPSHOTS_RETURN_TYPE,
@@ -488,6 +494,7 @@ pub async fn list_snapshots(
ns: Option<BackupNamespace>,
backup_type: Option<BackupType>,
backup_id: Option<String>,
+ trashed: bool,
_param: Value,
_info: &ApiMethod,
rpcenv: &mut dyn RpcEnvironment,
@@ -495,7 +502,7 @@ pub async fn list_snapshots(
let auth_id: Authid = rpcenv.get_auth_id().unwrap().parse()?;
tokio::task::spawn_blocking(move || unsafe {
- list_snapshots_blocking(store, ns, backup_type, backup_id, auth_id)
+ list_snapshots_blocking(store, ns, backup_type, backup_id, auth_id, trashed)
})
.await
.map_err(|err| format_err!("failed to await blocking task: {err}"))?
@@ -508,6 +515,7 @@ unsafe fn list_snapshots_blocking(
backup_type: Option<BackupType>,
backup_id: Option<String>,
auth_id: Authid,
+ trashed: bool,
) -> Result<Vec<SnapshotListItem>, Error> {
let ns = ns.unwrap_or_default();
@@ -631,7 +639,12 @@ unsafe fn list_snapshots_blocking(
return Ok(snapshots);
}
- let group_backups = group.list_backups(ListBackupFilter::Active)?;
+ let filter = if trashed {
+ ListBackupFilter::Trashed
+ } else {
+ ListBackupFilter::Active
+ };
+ let group_backups = group.list_backups(filter)?;
snapshots.extend(
group_backups
--
2.39.5
More information about the pbs-devel
mailing list