refactor: Revert backups cubit back to normal
This commit is contained in:
parent
a7b11779eb
commit
e8ebc8be72
|
@ -25,33 +25,24 @@ class BackupsCubit extends ServerInstallationDependendCubit<BackupsState> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> load() async {
|
Future<void> load() async {
|
||||||
if (serverInstallationCubit.state is! ServerInstallationFinished) {
|
if (serverInstallationCubit.state is ServerInstallationFinished) {
|
||||||
return;
|
final BackblazeBucket? bucket = getIt<ApiConfigModel>().backblazeBucket;
|
||||||
|
final BackupConfiguration? backupConfig =
|
||||||
|
await api.getBackupsConfiguration();
|
||||||
|
final List<Backup> backups = await api.getBackups();
|
||||||
|
backups.sort((final a, final b) => b.time.compareTo(a.time));
|
||||||
|
emit(
|
||||||
|
state.copyWith(
|
||||||
|
backblazeBucket: bucket,
|
||||||
|
isInitialized: backupConfig?.isInitialized,
|
||||||
|
autobackupPeriod: backupConfig?.autobackupPeriod ?? Duration.zero,
|
||||||
|
autobackupQuotas: backupConfig?.autobackupQuotas,
|
||||||
|
backups: backups,
|
||||||
|
preventActions: false,
|
||||||
|
refreshing: false,
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
final BackblazeBucket? bucket = getIt<ApiConfigModel>().backblazeBucket;
|
|
||||||
final BackupConfiguration? backupConfig =
|
|
||||||
await api.getBackupsConfiguration();
|
|
||||||
final BackupsCredential? backupsCredential =
|
|
||||||
getIt<ApiConfigModel>().backblazeCredential;
|
|
||||||
final List<Backup> backups = await api.getBackups();
|
|
||||||
backups.sort((final a, final b) => b.time.compareTo(a.time));
|
|
||||||
final bool? initialized = backupConfig?.isInitialized;
|
|
||||||
final nextState = state.copyWith(
|
|
||||||
backblazeBucket: bucket,
|
|
||||||
isInitialized: initialized,
|
|
||||||
autobackupPeriod: backupConfig?.autobackupPeriod ?? Duration.zero,
|
|
||||||
autobackupQuotas: backupConfig?.autobackupQuotas,
|
|
||||||
backupsCredential: backupsCredential,
|
|
||||||
backups: backups,
|
|
||||||
preventActions: false,
|
|
||||||
refreshing: false,
|
|
||||||
);
|
|
||||||
emit(
|
|
||||||
(initialized == null || initialized == false)
|
|
||||||
? BackupsNotFinishedState.fromBackupsState(nextState)
|
|
||||||
: nextState,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> setBackupsKey(
|
Future<void> setBackupsKey(
|
||||||
|
@ -64,15 +55,6 @@ class BackupsCubit extends ServerInstallationDependendCubit<BackupsState> {
|
||||||
provider: BackupsProviderType.backblaze,
|
provider: BackupsProviderType.backblaze,
|
||||||
);
|
);
|
||||||
await getIt<ApiConfigModel>().storeBackblazeCredential(backupsCredential);
|
await getIt<ApiConfigModel>().storeBackblazeCredential(backupsCredential);
|
||||||
if (state is BackupsNotFinishedState) {
|
|
||||||
emit(
|
|
||||||
(state as BackupsNotFinishedState).copyNotFinishedWith(
|
|
||||||
backupsCredential: backupsCredential,
|
|
||||||
step: BackupsInitializingStep.period,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
emit(
|
emit(
|
||||||
state.copyWith(
|
state.copyWith(
|
||||||
backupsCredential: backupsCredential,
|
backupsCredential: backupsCredential,
|
||||||
|
@ -309,6 +291,6 @@ class BackupsCubit extends ServerInstallationDependendCubit<BackupsState> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void clear() async {
|
void clear() async {
|
||||||
emit(BackupsNotFinishedState.fromBackupsState(const BackupsState()));
|
emit(const BackupsState());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,9 +53,9 @@ class BackupsState extends ServerInstallationDependendState {
|
||||||
preventActions: preventActions ?? this.preventActions,
|
preventActions: preventActions ?? this.preventActions,
|
||||||
refreshTimer: refreshTimer ?? this.refreshTimer,
|
refreshTimer: refreshTimer ?? this.refreshTimer,
|
||||||
refreshing: refreshing ?? this.refreshing,
|
refreshing: refreshing ?? this.refreshing,
|
||||||
backupsCredential: backupsCredential ?? this.backupsCredential,
|
|
||||||
backblazeBucket: backblazeBucket ?? this.backblazeBucket,
|
backblazeBucket: backblazeBucket ?? this.backblazeBucket,
|
||||||
autobackupQuotas: autobackupQuotas ?? this.autobackupQuotas,
|
autobackupQuotas: autobackupQuotas ?? this.autobackupQuotas,
|
||||||
|
backupsCredential: backupsCredential ?? this.backupsCredential,
|
||||||
// The autobackupPeriod might be null, so if the duration is set to 0, we
|
// The autobackupPeriod might be null, so if the duration is set to 0, we
|
||||||
// set it to null.
|
// set it to null.
|
||||||
autobackupPeriod: autobackupPeriod?.inSeconds == 0
|
autobackupPeriod: autobackupPeriod?.inSeconds == 0
|
||||||
|
@ -63,81 +63,3 @@ class BackupsState extends ServerInstallationDependendState {
|
||||||
: autobackupPeriod ?? this.autobackupPeriod,
|
: autobackupPeriod ?? this.autobackupPeriod,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class BackupsNotFinishedState extends BackupsState {
|
|
||||||
BackupsNotFinishedState.fromBackupsState(final BackupsState backupsState)
|
|
||||||
: this(
|
|
||||||
step: BackupsInitializingStep.hosting,
|
|
||||||
isInitialized: false,
|
|
||||||
autobackupPeriod: backupsState.autobackupPeriod,
|
|
||||||
autobackupQuotas: backupsState.autobackupQuotas,
|
|
||||||
backblazeBucket: backupsState.backblazeBucket,
|
|
||||||
backups: backupsState.backups,
|
|
||||||
backupsCredential: backupsState.backupsCredential,
|
|
||||||
preventActions: backupsState.preventActions,
|
|
||||||
refreshTimer: backupsState.refreshTimer,
|
|
||||||
refreshing: backupsState.refreshing,
|
|
||||||
);
|
|
||||||
|
|
||||||
const BackupsNotFinishedState({
|
|
||||||
required this.step,
|
|
||||||
super.isInitialized = false,
|
|
||||||
super.backups = const [],
|
|
||||||
super.preventActions = true,
|
|
||||||
super.refreshTimer = const Duration(seconds: 60),
|
|
||||||
super.refreshing = true,
|
|
||||||
super.autobackupPeriod,
|
|
||||||
super.backblazeBucket,
|
|
||||||
super.autobackupQuotas,
|
|
||||||
super.backupsCredential,
|
|
||||||
});
|
|
||||||
|
|
||||||
final BackupsInitializingStep step;
|
|
||||||
|
|
||||||
BackupsNotFinishedState copyNotFinishedWith({
|
|
||||||
required final BackupsInitializingStep step,
|
|
||||||
final bool? isInitialized,
|
|
||||||
final List<Backup>? backups,
|
|
||||||
final bool? preventActions,
|
|
||||||
final Duration? refreshTimer,
|
|
||||||
final bool? refreshing,
|
|
||||||
final Duration? autobackupPeriod,
|
|
||||||
final BackblazeBucket? backblazeBucket,
|
|
||||||
final AutobackupQuotas? autobackupQuotas,
|
|
||||||
final BackupsCredential? backupsCredential,
|
|
||||||
}) =>
|
|
||||||
BackupsNotFinishedState(
|
|
||||||
isInitialized: isInitialized ?? this.isInitialized,
|
|
||||||
backups: backups ?? this.backups,
|
|
||||||
preventActions: preventActions ?? this.preventActions,
|
|
||||||
refreshTimer: refreshTimer ?? this.refreshTimer,
|
|
||||||
refreshing: refreshing ?? this.refreshing,
|
|
||||||
backupsCredential: backupsCredential ?? this.backupsCredential,
|
|
||||||
backblazeBucket: backblazeBucket ?? this.backblazeBucket,
|
|
||||||
autobackupQuotas: autobackupQuotas ?? this.autobackupQuotas,
|
|
||||||
step: step,
|
|
||||||
// The autobackupPeriod might be null, so if the duration is set to 0, we
|
|
||||||
// set it to null.
|
|
||||||
autobackupPeriod: autobackupPeriod?.inSeconds == 0
|
|
||||||
? null
|
|
||||||
: autobackupPeriod ?? this.autobackupPeriod,
|
|
||||||
);
|
|
||||||
|
|
||||||
BackupsState finish() => BackupsState(
|
|
||||||
isInitialized: true,
|
|
||||||
autobackupPeriod: autobackupPeriod,
|
|
||||||
autobackupQuotas: autobackupQuotas,
|
|
||||||
backblazeBucket: backblazeBucket,
|
|
||||||
backups: backups,
|
|
||||||
backupsCredential: backupsCredential,
|
|
||||||
preventActions: preventActions,
|
|
||||||
refreshTimer: refreshTimer,
|
|
||||||
refreshing: refreshing,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
enum BackupsInitializingStep {
|
|
||||||
hosting,
|
|
||||||
period,
|
|
||||||
rotation,
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue