mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
fix: backup merge
This commit is contained in:
@@ -183,29 +183,22 @@ abstract final class ICloud {
|
||||
}
|
||||
|
||||
static Future<void> sync() async {
|
||||
var dlSuccess = false;
|
||||
try {
|
||||
final result = await download(relativePath: Paths.bakName);
|
||||
if (result != null) {
|
||||
throw result;
|
||||
}
|
||||
dlSuccess = true;
|
||||
} catch (e, s) {
|
||||
_logger.warning('Download backup failed', e, s);
|
||||
}
|
||||
if (!dlSuccess) {
|
||||
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');
|
||||
}
|
||||
final result = await download(relativePath: Paths.bakName);
|
||||
if (result != null) {
|
||||
_logger.warning('Download backup failed: $result');
|
||||
await backup();
|
||||
return;
|
||||
}
|
||||
final dlFile = await File(await Paths.bak).readAsString();
|
||||
final dlBak = await Computer.shared.start(Backup.fromJsonString, dlFile);
|
||||
await dlBak.restore();
|
||||
|
||||
final dlFile = await File(await Paths.bak).readAsString();
|
||||
final dlBak = await Computer.shared.start(Backup.fromJsonString, dlFile);
|
||||
await dlBak.restore();
|
||||
|
||||
|
||||
await backup();
|
||||
}
|
||||
|
||||
static Future<void> backup() async {
|
||||
await Backup.backup();
|
||||
final uploadResult = await upload(relativePath: Paths.bakName);
|
||||
if (uploadResult != null) {
|
||||
|
||||
@@ -98,26 +98,19 @@ abstract final class Webdav {
|
||||
static Future<void> sync() async {
|
||||
final result = await download(relativePath: Paths.bakName);
|
||||
if (result != null) {
|
||||
_logger.warning('Download failed: $result');
|
||||
await backup();
|
||||
return;
|
||||
}
|
||||
final dlFile = await Computer.shared.start(
|
||||
(message) async {
|
||||
try {
|
||||
final file = await File(message).readAsString();
|
||||
final bak = Backup.fromJsonString(file);
|
||||
return bak;
|
||||
} catch (_) {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
await Paths.bak,
|
||||
);
|
||||
if (dlFile == null) {
|
||||
await backup();
|
||||
return;
|
||||
|
||||
try {
|
||||
final dlFile = await File(await Paths.bak).readAsString();
|
||||
final dlBak = await Computer.shared.start(Backup.fromJsonString, dlFile);
|
||||
await dlBak.restore();
|
||||
} catch (e) {
|
||||
_logger.warning('Restore failed: $e');
|
||||
}
|
||||
await dlFile.restore();
|
||||
|
||||
await backup();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user