2021-03-26 13:38:39 +00:00
|
|
|
import 'package:selfprivacy/config/get_it_config.dart';
|
2022-09-16 08:06:27 +00:00
|
|
|
import 'package:selfprivacy/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart';
|
2021-03-26 13:38:39 +00:00
|
|
|
import 'package:selfprivacy/logic/cubit/server_detailed_info/server_detailed_info_repository.dart';
|
2022-09-14 23:31:25 +00:00
|
|
|
import 'package:selfprivacy/logic/models/auto_upgrade_settings.dart';
|
2022-11-11 03:32:01 +00:00
|
|
|
import 'package:selfprivacy/logic/models/server_metadata.dart';
|
2022-02-08 21:01:08 +00:00
|
|
|
import 'package:selfprivacy/logic/models/timezone_settings.dart';
|
2021-03-26 13:38:39 +00:00
|
|
|
|
|
|
|
part 'server_detailed_info_state.dart';
|
|
|
|
|
2022-09-16 08:06:27 +00:00
|
|
|
class ServerDetailsCubit
|
|
|
|
extends ServerInstallationDependendCubit<ServerDetailsState> {
|
|
|
|
ServerDetailsCubit(final ServerInstallationCubit serverInstallationCubit)
|
|
|
|
: super(serverInstallationCubit, ServerDetailsInitial());
|
2021-03-26 13:38:39 +00:00
|
|
|
|
|
|
|
ServerDetailsRepository repository = ServerDetailsRepository();
|
|
|
|
|
|
|
|
void check() async {
|
2022-06-05 19:36:32 +00:00
|
|
|
final bool isReadyToCheck = getIt<ApiConfigModel>().serverDetails != null;
|
2022-09-16 07:50:05 +00:00
|
|
|
try {
|
|
|
|
if (isReadyToCheck) {
|
|
|
|
emit(ServerDetailsLoading());
|
|
|
|
final ServerDetailsRepositoryDto data = await repository.load();
|
|
|
|
emit(
|
|
|
|
Loaded(
|
2022-11-11 03:32:01 +00:00
|
|
|
metadata: data.metadata,
|
2022-09-16 07:50:05 +00:00
|
|
|
autoUpgradeSettings: data.autoUpgradeSettings,
|
|
|
|
serverTimezone: data.serverTimezone,
|
|
|
|
checkTime: DateTime.now(),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
} else {
|
|
|
|
emit(ServerDetailsNotReady());
|
|
|
|
}
|
|
|
|
} on StateError {
|
|
|
|
print('Tried to emit server info state when cubit is closed');
|
2021-03-26 13:38:39 +00:00
|
|
|
}
|
|
|
|
}
|
2022-09-16 08:06:27 +00:00
|
|
|
|
|
|
|
@override
|
|
|
|
void clear() {
|
|
|
|
emit(ServerDetailsNotReady());
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void load() async {
|
|
|
|
check();
|
|
|
|
}
|
2021-03-26 13:38:39 +00:00
|
|
|
}
|