mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
73 lines
2.2 KiB
Dart
73 lines
2.2 KiB
Dart
// ignore_for_file: non_constant_identifier_names
|
|
|
|
import 'package:fl_lib/fl_lib.dart';
|
|
import 'package:server_box/data/res/store.dart';
|
|
|
|
final class NoBackupStore extends HiveStore {
|
|
NoBackupStore._() : super('no_backup');
|
|
|
|
static final instance = NoBackupStore._();
|
|
|
|
/// Only valid on iOS and macOS
|
|
late final _icloudSync = propertyDefault('icloudSync', false);
|
|
|
|
/// Webdav sync
|
|
late final webdavSync = propertyDefault('webdavSync', false);
|
|
late final webdavUrl = propertyDefault('webdavUrl', '');
|
|
late final webdavUser = propertyDefault('webdavUser', '');
|
|
late final webdavPwd = propertyDefault('webdavPwd', '');
|
|
|
|
void migrate(int lastVer) {
|
|
if (lastVer > 1104) return;
|
|
|
|
// Settings store -> NoBackup store
|
|
final settings = Stores.setting;
|
|
final icloudSync_ = settings.box.get('icloudSync');
|
|
if (icloudSync_ is bool) {
|
|
_icloudSync.set(icloudSync_);
|
|
settings.box.delete('icloudSync');
|
|
}
|
|
final webdavSync_ = settings.box.get('webdavSync');
|
|
if (webdavSync_ is bool) {
|
|
webdavSync.set(webdavSync_);
|
|
settings.box.delete('webdavSync');
|
|
}
|
|
final webdavUrl_ = settings.box.get('webdavUrl');
|
|
if (webdavUrl_ is String) {
|
|
webdavUrl.set(webdavUrl_);
|
|
settings.box.delete('webdavUrl');
|
|
}
|
|
final webdavUser_ = settings.box.get('webdavUser');
|
|
if (webdavUser_ is String) {
|
|
webdavUser.set(webdavUser_);
|
|
settings.box.delete('webdavUser');
|
|
}
|
|
final webdavPwd_ = settings.box.get('webdavPwd');
|
|
if (webdavPwd_ is String) {
|
|
webdavPwd.set(webdavPwd_);
|
|
settings.box.delete('webdavPwd');
|
|
}
|
|
|
|
// NoBackup store -> Pref store
|
|
final icloudSync__ = _icloudSync.get();
|
|
PrefProps.icloudSync.set(icloudSync__);
|
|
_icloudSync.remove();
|
|
|
|
final webdavSync__ = webdavSync.get();
|
|
PrefProps.webdavSync.set(webdavSync__);
|
|
webdavSync.remove();
|
|
|
|
final webdavUrl__ = webdavUrl.get();
|
|
PrefProps.webdavUrl.set(webdavUrl__);
|
|
webdavUrl.remove();
|
|
|
|
final webdavUser__ = webdavUser.get();
|
|
PrefProps.webdavUser.set(webdavUser__);
|
|
webdavUser.remove();
|
|
|
|
final webdavPwd__ = webdavPwd.get();
|
|
PrefProps.webdavPwd.set(webdavPwd__);
|
|
webdavPwd.remove();
|
|
}
|
|
}
|