capability.rs (1701B)
1 use radroots_storage::backup::{BackupCapabilityError, RestoreCapabilityError}; 2 3 pub(super) fn map_error(error: crate::Error) -> BackupCapabilityError { 4 use crate::Error as E; 5 match error { 6 E::BackupBackendUnavailable => BackupCapabilityError::Unavailable, 7 E::BackupRootRequired | E::InvalidBackupRoot(_) => { 8 BackupCapabilityError::InvalidConfiguration 9 } 10 E::UnsupportedBackupVersion => BackupCapabilityError::UnsupportedVersion, 11 E::BackupBundleAlreadyExists(_) => BackupCapabilityError::Conflict, 12 E::BackupBundleMissing(_) 13 | E::BackupVerificationFailed { .. } 14 | E::BackupUnexpectedEntry(_) => BackupCapabilityError::VerificationFailed, 15 _ => BackupCapabilityError::Failed, 16 } 17 } 18 19 pub(super) fn map_restore_error(error: crate::Error) -> RestoreCapabilityError { 20 use crate::Error as E; 21 match error { 22 E::BackupBackendUnavailable | E::RestoreRequiresWritableStorage => { 23 RestoreCapabilityError::Unavailable 24 } 25 E::BackupRootRequired | E::InvalidBackupRoot(_) => { 26 RestoreCapabilityError::InvalidConfiguration 27 } 28 E::UnsupportedBackupVersion => RestoreCapabilityError::UnsupportedVersion, 29 E::BackupBundleAlreadyExists(_) 30 | E::RestoreStagingAlreadyExists(_) 31 | E::RestoreRecoveryConflict(_) => RestoreCapabilityError::Conflict, 32 E::BackupBundleMissing(_) 33 | E::BackupVerificationFailed { .. } 34 | E::BackupUnexpectedEntry(_) 35 | E::RestoreStagingFailed { .. } 36 | E::RestoreMarkerCorrupt(_) => RestoreCapabilityError::VerificationFailed, 37 _ => RestoreCapabilityError::Failed, 38 } 39 }