Simplify backupService
This commit is contained in:
Родитель
5dae99fadc
Коммит
87093dc671
|
@ -40,7 +40,8 @@ class BackupAndRestoreService @Inject constructor(
|
|||
suspend fun createBackup(unprotectedBackup: UnprotectedBackup, protectionMethod: ProtectionMethod): Result<ProtectedBackupData> {
|
||||
return runResultTry {
|
||||
val unprotectedBackupData = transformToBackupData(unprotectedBackup)
|
||||
Result.Success(wrapBackup(unprotectedBackupData, protectionMethod))
|
||||
val protectedBackup = protectionMethod.wrap(unprotectedBackupData, serializer)
|
||||
Result.Success(protectedBackup)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -51,13 +52,6 @@ class BackupAndRestoreService @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
private fun wrapBackup(unprotectedBackupData: UnprotectedBackupData, protectionMethod: ProtectionMethod): ProtectedBackupData {
|
||||
return when (protectionMethod) {
|
||||
is JwePasswordProtectionMethod -> protectionMethod.wrap(unprotectedBackupData, serializer)
|
||||
else -> throw UnknownProtectionMethodException("Unknown protection options: ${protectionMethod::class.qualifiedName}")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a serialized backup tries to determine the backup type and deserialize it.
|
||||
*
|
||||
|
@ -82,19 +76,12 @@ class BackupAndRestoreService @Inject constructor(
|
|||
*/
|
||||
suspend fun restoreBackup(protectedBackupData: ProtectedBackupData, protectionMethod: ProtectionMethod): Result<UnprotectedBackup> {
|
||||
return runResultTry {
|
||||
val unprotectedBackup = unwrapBackup(protectedBackupData, protectionMethod)
|
||||
val unprotectedBackup = protectionMethod.unwrap(protectedBackupData, serializer)
|
||||
val unprotectedBackupData = importBackup(unprotectedBackup)
|
||||
Result.Success(unprotectedBackupData)
|
||||
}
|
||||
}
|
||||
|
||||
private fun unwrapBackup(protectedBackupData: ProtectedBackupData, protectionMethod: ProtectionMethod): UnprotectedBackupData {
|
||||
return when (protectionMethod) {
|
||||
is JwePasswordProtectionMethod -> protectionMethod.unwrap(protectedBackupData, serializer)
|
||||
else -> throw UnknownBackupFormatException("Unknown restore options: ${protectedBackupData::class.qualifiedName}")
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun importBackup(backupData: UnprotectedBackupData): UnprotectedBackup {
|
||||
return when (backupData) {
|
||||
is Microsoft2020UnprotectedBackupData -> microsoft2020BackupProcessor.import(backupData)
|
||||
|
|
Загрузка…
Ссылка в новой задаче