selfprivacy.org.app/lib/logic/cubit/server_detailed_info/server_detailed_info_cubit....

34 lines
1.2 KiB
Dart
Raw Normal View History

2022-05-24 21:55:39 +03:00
import 'package:flutter_bloc/flutter_bloc.dart';
2021-03-26 15:38:39 +02:00
import 'package:equatable/equatable.dart';
import 'package:selfprivacy/config/get_it_config.dart';
import 'package:selfprivacy/logic/cubit/server_detailed_info/server_detailed_info_repository.dart';
import 'package:selfprivacy/logic/models/json/auto_upgrade_settings.dart';
import 'package:selfprivacy/logic/models/json/hetzner_server_info.dart';
2022-02-08 23:01:08 +02:00
import 'package:selfprivacy/logic/models/timezone_settings.dart';
2021-03-26 15:38:39 +02:00
part 'server_detailed_info_state.dart';
class ServerDetailsCubit extends Cubit<ServerDetailsState> {
ServerDetailsCubit() : super(ServerDetailsInitial());
ServerDetailsRepository repository = ServerDetailsRepository();
void check() async {
2022-06-05 22:36:32 +03:00
final bool isReadyToCheck = getIt<ApiConfigModel>().serverDetails != null;
2021-03-26 15:38:39 +02:00
if (isReadyToCheck) {
emit(ServerDetailsLoading());
2022-06-05 22:36:32 +03:00
final ServerDetailsRepositoryDto data = await repository.load();
2022-06-10 00:13:06 +03:00
emit(
Loaded(
serverInfo: data.hetznerServerInfo,
autoUpgradeSettings: data.autoUpgradeSettings,
serverTimezone: data.serverTimezone,
checkTime: DateTime.now(),
),
);
2021-03-26 15:38:39 +02:00
} else {
emit(ServerDetailsNotReady());
}
}
}