@@ -2,13 +2,19 @@ import 'dart:io';
|
||||
|
||||
import 'package:fl_lib/fl_lib.dart';
|
||||
import 'package:server_box/data/model/app/backup.dart';
|
||||
import 'package:server_box/data/store/no_backup.dart';
|
||||
|
||||
const bakSync = BakSyncer._();
|
||||
|
||||
final icloud = ICloud(containerId: 'iCloud.tech.lolli.serverbox');
|
||||
|
||||
final class BakSyncer extends SyncIface<Backup> {
|
||||
const BakSyncer._() : super();
|
||||
|
||||
@override
|
||||
void init() {
|
||||
Webdav.shared.prefix = 'serverbox/';
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> saveToFile() => Backup.backup();
|
||||
|
||||
@@ -19,21 +25,12 @@ final class BakSyncer extends SyncIface<Backup> {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<RemoteStorage?> get remoteStorage async {
|
||||
if (isMacOS || isIOS) await icloud.init('iCloud.tech.lolli.serverbox');
|
||||
final settings = NoBackupStore.instance;
|
||||
await webdav.init(WebdavInitArgs(
|
||||
url: settings.webdavUrl.fetch(),
|
||||
user: settings.webdavUser.fetch(),
|
||||
pwd: settings.webdavPwd.fetch(),
|
||||
prefix: 'serverbox/',
|
||||
));
|
||||
|
||||
final icloudEnabled = settings.icloudSync.fetch();
|
||||
RemoteStorage? get remoteStorage {
|
||||
final icloudEnabled = PrefProps.icloudSync.get();
|
||||
if (icloudEnabled) return icloud;
|
||||
|
||||
final webdavEnabled = settings.webdavSync.fetch();
|
||||
if (webdavEnabled) return webdav;
|
||||
final webdavEnabled = PrefProps.webdavSync.get();
|
||||
if (webdavEnabled) return Webdav.shared;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user