diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs index a22c2444..f7455c08 100644 --- a/src/api2/admin/datastore.rs +++ b/src/api2/admin/datastore.rs @@ -854,7 +854,7 @@ pub fn verify( failed_dirs } else { let owner = if owner_check_required { - Some(auth_id) + Some(&auth_id) } else { None }; diff --git a/src/backup/hierarchy.rs b/src/backup/hierarchy.rs index 953ea4ce..72e82c7b 100644 --- a/src/backup/hierarchy.rs +++ b/src/backup/hierarchy.rs @@ -13,22 +13,22 @@ use pbs_datastore::{backup_info::BackupGroup, DataStore, ListGroups, ListNamespa /// /// Is basically just a filter-iter for pbs_datastore::ListNamespacesRecursive including access and /// optional owner checks. -pub struct ListAccessibleBackupGroups { +pub struct ListAccessibleBackupGroups<'a> { store: Arc, - auth_id: Option, + auth_id: Option<&'a Authid>, user_info: Arc, state: Option, ns_iter: ListNamespacesRecursive, } -impl ListAccessibleBackupGroups { +impl <'a> ListAccessibleBackupGroups<'a> { // TODO: builder pattern pub fn new( store: Arc, ns: BackupNamespace, max_depth: usize, - auth_id: Option, + auth_id: Option<&'a Authid>, ) -> Result { let ns_iter = ListNamespacesRecursive::new_max_depth(Arc::clone(&store), ns, max_depth)?; Ok(ListAccessibleBackupGroups { @@ -41,7 +41,7 @@ impl ListAccessibleBackupGroups { } } -impl Iterator for ListAccessibleBackupGroups { +impl <'a> Iterator for ListAccessibleBackupGroups<'a> { type Item = Result; fn next(&mut self) -> Option { diff --git a/src/backup/verify.rs b/src/backup/verify.rs index a5ec9a4c..cf091e5e 100644 --- a/src/backup/verify.rs +++ b/src/backup/verify.rs @@ -498,7 +498,7 @@ pub fn verify_all_backups( upid: &UPID, ns: BackupNamespace, max_depth: Option, - owner: Option, + owner: Option<&Authid>, filter: Option<&dyn Fn(&BackupManifest) -> bool>, ) -> Result, Error> { let mut errors = Vec::new();