opt.: backup restore

This commit is contained in:
lollipopkit
2024-01-25 20:00:40 +08:00
parent c910696735
commit 292a29a611
10 changed files with 176 additions and 91 deletions

View File

@@ -205,23 +205,13 @@ abstract final class ICloud {
}
final dlFile = await File(await Paths.bak).readAsString();
final dlBak = await Computer.shared.start(Backup.fromJsonString, dlFile);
final restore = await dlBak.restore();
switch (restore) {
case true:
_logger.info('Restore from ${dlBak.lastModTime} success');
break;
case false:
await Backup.backup();
final uploadResult = await upload(relativePath: Paths.bakName);
if (uploadResult != null) {
_logger.warning('Upload backup failed: $uploadResult');
} else {
_logger.info('Upload backup success');
}
break;
case null:
_logger.info('Skip sync');
break;
await dlBak.restore();
await Backup.backup();
final uploadResult = await upload(relativePath: Paths.bakName);
if (uploadResult != null) {
_logger.warning('Upload backup failed: $uploadResult');
} else {
_logger.info('Upload backup success');
}
}
}

View File

@@ -117,18 +117,8 @@ abstract final class Webdav {
await backup();
return;
}
final restore = await dlFile.restore();
switch (restore) {
case true:
_logger.info('Restore from ${dlFile.lastModTime} success');
break;
case false:
await backup();
break;
case null:
_logger.info('Skip sync');
break;
}
await dlFile.restore();
await backup();
}
/// Create a local backup and upload it to WebDAV