diff --git a/lib/logic/api_maps/hetzner.dart b/lib/logic/api_maps/hetzner.dart index 11e68ab7f1..88efcb06db 100644 --- a/lib/logic/api_maps/hetzner.dart +++ b/lib/logic/api_maps/hetzner.dart @@ -144,28 +144,24 @@ class HetznerApi extends ApiMap { } } - Future startServer({ - required HetznerServerDetails server, - }) async { - var client = await getClient(); + Future reset() async { + var server = getIt().hetznerServer!; - await client.post('/servers/${server.id}/actions/poweron'); + var client = await getClient(); + await client.post('/servers/${server.id}/actions/reset'); close(client); - return server.copyWith( - startTime: DateTime.now(), - ); + return server.copyWith(startTime: DateTime.now()); } - Future restart({ - required HetznerServerDetails server, - }) async { + Future powerOn() async { + var server = getIt().hetznerServer!; + var client = await getClient(); await client.post('/servers/${server.id}/actions/poweron'); close(client); - return server.copyWith( - startTime: DateTime.now(), - ); + + return server.copyWith(startTime: DateTime.now()); } metrics() async { diff --git a/lib/logic/cubit/app_config/app_config_cubit.dart b/lib/logic/cubit/app_config/app_config_cubit.dart index 4d9259f4e6..6627821c2e 100644 --- a/lib/logic/cubit/app_config/app_config_cubit.dart +++ b/lib/logic/cubit/app_config/app_config_cubit.dart @@ -47,8 +47,8 @@ class AppConfigCubit extends Cubit { final repository = AppConfigRepository(); - void load() { - var state = repository.load(); + Future load() async { + var state = await repository.load(); if (state.progress < 6 || state.isFullyInitilized) { emit(state); @@ -81,8 +81,8 @@ class AppConfigCubit extends Cubit { var server = await repository.startServer( state.hetznerServer!, ); - repository.saveServerDetails(server); - repository.saveIsServerStarted(true); + await repository.saveServerDetails(server); + await repository.saveIsServerStarted(true); emit( state.copyWith( @@ -131,11 +131,9 @@ class AppConfigCubit extends Cubit { duration: pauseDuration, )); timer = Timer(pauseDuration, () async { - var hetznerServerDetails = await repository.restart( - dataState.hetznerServer!, - ); - repository.saveIsServerResetedSecondTime(true); - repository.saveServerDetails(hetznerServerDetails); + var hetznerServerDetails = await repository.restart(); + await repository.saveIsServerResetedSecondTime(true); + await repository.saveServerDetails(hetznerServerDetails); emit( dataState.copyWith( @@ -186,11 +184,9 @@ class AppConfigCubit extends Cubit { duration: pauseDuration, )); timer = Timer(pauseDuration, () async { - var hetznerServerDetails = await repository.restart( - dataState.hetznerServer!, - ); - repository.saveIsServerResetedFirstTime(true); - repository.saveServerDetails(hetznerServerDetails); + var hetznerServerDetails = await repository.restart(); + await repository.saveIsServerResetedFirstTime(true); + await repository.saveServerDetails(hetznerServerDetails); emit( dataState.copyWith( @@ -235,7 +231,7 @@ class AppConfigCubit extends Cubit { var isServerWorking = await repository.isHttpServerWorking(); if (isServerWorking) { - repository.saveHasFinalChecked(true); + await repository.saveHasFinalChecked(true); emit(state.copyWith( hasFinalChecked: true, @@ -267,32 +263,32 @@ class AppConfigCubit extends Cubit { emit(InitialAppConfigState()); } - void setHetznerKey(String hetznerKey) { - repository.saveHetznerKey(hetznerKey); + void setHetznerKey(String hetznerKey) async { + await repository.saveHetznerKey(hetznerKey); emit(state.copyWith(hetznerKey: hetznerKey)); } - void setCloudflareKey(String cloudFlareKey) { - repository.saveCloudFlareKey(cloudFlareKey); + void setCloudflareKey(String cloudFlareKey) async { + await repository.saveCloudFlareKey(cloudFlareKey); emit(state.copyWith(cloudFlareKey: cloudFlareKey)); } - void setBackblazeKey(String keyId, String applicationKey) { + void setBackblazeKey(String keyId, String applicationKey) async { var backblazeCredential = BackblazeCredential( keyId: keyId, applicationKey: applicationKey, ); - repository.saveBackblazeKey(backblazeCredential); + await repository.saveBackblazeKey(backblazeCredential); emit(state.copyWith(backblazeCredential: backblazeCredential)); } - void setDomain(CloudFlareDomain cloudFlareDomain) { - repository.saveDomain(cloudFlareDomain); + void setDomain(CloudFlareDomain cloudFlareDomain) async { + await repository.saveDomain(cloudFlareDomain); emit(state.copyWith(cloudFlareDomain: cloudFlareDomain)); } - void setRootUser(User rootUser) { - repository.saveRootUser(rootUser); + void setRootUser(User rootUser) async { + await repository.saveRootUser(rootUser); emit(state.copyWith(rootUser: rootUser)); } diff --git a/lib/logic/cubit/app_config/app_config_repository.dart b/lib/logic/cubit/app_config/app_config_repository.dart index 4408f1f80e..ebbbb305ec 100644 --- a/lib/logic/cubit/app_config/app_config_repository.dart +++ b/lib/logic/cubit/app_config/app_config_repository.dart @@ -21,7 +21,7 @@ import 'package:easy_localization/easy_localization.dart'; class AppConfigRepository { Box box = Hive.box(BNames.appConfig); - AppConfigState load() { + Future load() async { var res = AppConfigState( hetznerKey: getIt().hetznerKey, cloudFlareKey: getIt().cloudFlareKey, @@ -39,8 +39,6 @@ class AppConfigRepository { isLoading: box.get(BNames.isLoading, defaultValue: false), ); - - return res; } @@ -52,7 +50,7 @@ class AppConfigRepository { HetznerServerDetails hetznerServer, ) async { var hetznerApi = HetznerApi(); - var serverDetails = await hetznerApi.startServer(server: hetznerServer); + var serverDetails = await hetznerApi.powerOn(); return serverDetails; } @@ -173,11 +171,14 @@ class AppConfigRepository { return isHttpServerWorking; } - Future restart( - HetznerServerDetails server, - ) async { + Future restart() async { var hetznerApi = HetznerApi(); - return await hetznerApi.restart(server: server); + return await hetznerApi.reset(); + } + + Future powerOn() async { + var hetznerApi = HetznerApi(); + return await hetznerApi.powerOn(); } Future saveServerDetails(HetznerServerDetails serverDetails) async { @@ -212,11 +213,11 @@ class AppConfigRepository { await box.put(BNames.isServerResetedSecondTime, value); } - void saveRootUser(User rootUser) async { + Future saveRootUser(User rootUser) async { await box.put(BNames.rootUser, rootUser); } - void saveHasFinalChecked(bool value) async { + Future saveHasFinalChecked(bool value) async { await box.put(BNames.hasFinalChecked, value); } }