From b574659dc35ea7ffd8ff6d4c64955e20628dfac7 Mon Sep 17 00:00:00 2001 From: NaiJi Date: Fri, 21 Oct 2022 08:34:36 +0400 Subject: [PATCH] fix(initializing): Implement store and load of server provider from BNames --- .../server_installation/server_installation_cubit.dart | 1 + .../server_installation_repository.dart | 9 ++++++--- lib/logic/get_it/api_config.dart | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/logic/cubit/server_installation/server_installation_cubit.dart b/lib/logic/cubit/server_installation/server_installation_cubit.dart index e298d7ad..824713ef 100644 --- a/lib/logic/cubit/server_installation/server_installation_cubit.dart +++ b/lib/logic/cubit/server_installation/server_installation_cubit.dart @@ -118,6 +118,7 @@ class ServerInstallationCubit extends Cubit { void setServerProviderKey(final String serverProviderKey) async { await repository.saveServerProviderKey(serverProviderKey); + if (state is ServerInstallationRecovery) { emit( (state as ServerInstallationRecovery).copyWith( diff --git a/lib/logic/cubit/server_installation/server_installation_repository.dart b/lib/logic/cubit/server_installation/server_installation_repository.dart index f6120cbb..8de56f93 100644 --- a/lib/logic/cubit/server_installation/server_installation_repository.dart +++ b/lib/logic/cubit/server_installation/server_installation_repository.dart @@ -56,17 +56,20 @@ class ServerInstallationRepository { final String? cloudflareToken = getIt().cloudFlareKey; final String? serverTypeIdentificator = getIt().serverType; final ServerDomain? serverDomain = getIt().serverDomain; + final ServerProvider? serverProvider = + getIt().serverProvider; final BackblazeCredential? backblazeCredential = getIt().backblazeCredential; final ServerHostingDetails? serverDetails = getIt().serverDetails; - if (serverDetails != null && - serverDetails.provider != ServerProvider.unknown) { + if (serverProvider != null || + (serverDetails != null && + serverDetails.provider != ServerProvider.unknown)) { serverProviderApiFactory = ApiFactoryCreator.createServerProviderApiFactory( ServerProviderApiFactorySettings( - provider: serverDetails.provider, + provider: serverProvider ?? serverDetails!.provider, location: location, ), ); diff --git a/lib/logic/get_it/api_config.dart b/lib/logic/get_it/api_config.dart index 4f64af8f..434c9b32 100644 --- a/lib/logic/get_it/api_config.dart +++ b/lib/logic/get_it/api_config.dart @@ -82,6 +82,7 @@ class ApiConfigModel { _serverDetails = null; _backblazeBucket = null; _serverType = null; + _serverProvider = null; } void init() { @@ -93,5 +94,6 @@ class ApiConfigModel { _serverDetails = _box.get(BNames.serverDetails); _backblazeBucket = _box.get(BNames.backblazeBucket); _serverType = _box.get(BNames.serverTypeIdentifier); + _serverProvider = _box.get(BNames.serverProvider); } }