From 4aa13dd63a0cec58dcde9b347573f8af36ffacb2 Mon Sep 17 00:00:00 2001 From: NaiJi Date: Mon, 24 Apr 2023 13:45:16 -0300 Subject: [PATCH] chore: resolve ui conflicts and make it build --- .../provider_volume_cubit.dart | 3 +- .../server_detailed_info_repository.dart | 9 ++-- .../server_installation_repository.dart | 48 ++++--------------- lib/logic/providers/server_provider.dart | 10 ++++ .../providers/server_providers/hetzner.dart | 2 + lib/ui/router/router.gr.dart | 3 +- 6 files changed, 27 insertions(+), 48 deletions(-) diff --git a/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart b/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart index d2315c99..43bd7005 100644 --- a/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart +++ b/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart @@ -3,7 +3,6 @@ import 'dart:async'; import 'package:easy_localization/easy_localization.dart'; import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/logic/api_maps/graphql_maps/server_api/server_api.dart'; -import 'package:selfprivacy/logic/api_maps/rest_maps/api_controller.dart'; import 'package:selfprivacy/logic/common_enum/common_enum.dart'; import 'package:selfprivacy/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart'; import 'package:selfprivacy/logic/models/disk_size.dart'; @@ -36,7 +35,7 @@ class ApiProviderVolumeCubit } Future _refetch() async { - if (ApiController.currentVolumeProviderApiFactory == null) { + if (ProvidersController.currentServerProvider == null) { return emit(const ApiProviderVolumeState([], LoadingStatus.error, false)); } diff --git a/lib/logic/cubit/server_detailed_info/server_detailed_info_repository.dart b/lib/logic/cubit/server_detailed_info/server_detailed_info_repository.dart index ca6848bc..3bad75eb 100644 --- a/lib/logic/cubit/server_detailed_info/server_detailed_info_repository.dart +++ b/lib/logic/cubit/server_detailed_info/server_detailed_info_repository.dart @@ -1,23 +1,22 @@ import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/logic/api_maps/graphql_maps/server_api/server_api.dart'; -import 'package:selfprivacy/logic/api_maps/rest_maps/api_controller.dart'; import 'package:selfprivacy/logic/models/auto_upgrade_settings.dart'; import 'package:selfprivacy/logic/models/server_metadata.dart'; import 'package:selfprivacy/logic/models/timezone_settings.dart'; +import 'package:selfprivacy/logic/providers/providers_controller.dart'; class ServerDetailsRepository { ServerApi server = ServerApi(); Future load() async { - final serverProviderApi = ApiController.currentServerProviderApiFactory; + final serverProviderApi = ProvidersController.currentServerProvider; final settings = await server.getSystemSettings(); final serverId = getIt().serverDetails!.id; - final metadata = - await serverProviderApi!.getServerProvider().getMetadata(serverId); + final metadata = await serverProviderApi?.getMetadata(serverId); return ServerDetailsRepositoryDto( autoUpgradeSettings: settings.autoUpgradeSettings, - metadata: metadata, + metadata: metadata!.data, serverTimezone: TimeZoneSettings.fromString( settings.timezone, ), diff --git a/lib/logic/cubit/server_installation/server_installation_repository.dart b/lib/logic/cubit/server_installation/server_installation_repository.dart index 29b298bd..838fe6c9 100644 --- a/lib/logic/cubit/server_installation/server_installation_repository.dart +++ b/lib/logic/cubit/server_installation/server_installation_repository.dart @@ -61,16 +61,7 @@ class ServerInstallationRepository { if (serverProvider != null || (serverDetails != null && serverDetails.provider != ServerProviderType.unknown)) { - ApiController.initServerProviderApiFactory( - ServerProviderSettings( - provider: serverProvider ?? serverDetails!.provider, - location: location, - ), - ); - - // All current providers support volumes - // so it's safe to hardcode for now - ApiController.initVolumeProviderApiFactory( + ProvidersController.initServerProvider( ServerProviderSettings( provider: serverProvider ?? serverDetails!.provider, location: location, @@ -250,8 +241,7 @@ class ServerInstallationRepository { }) async { final DnsProviderApi dnsProviderApi = ApiController.currentDnsProviderApiFactory!.getDnsProvider(); - final ServerProviderApi serverApi = - ApiController.currentServerProviderApiFactory!.getServerProvider(); + final serverProvider = ProvidersController.currentServerProvider!; void showDomainErrorPopUp(final String error) { showPopUpAlert( @@ -260,8 +250,8 @@ class ServerInstallationRepository { cancelButtonOnPressed: onCancel, actionButtonTitle: 'basis.delete'.tr(), actionButtonOnPressed: () async { - await serverApi.deleteServer( - domainName: domain.domainName, + await serverProvider.deleteServer( + domain.domainName, ); onCancel(); }, @@ -299,16 +289,6 @@ class ServerInstallationRepository { return false; } - final GenericResult createReverseResult = await serverApi.createReverseDns( - serverDetails: serverDetails, - domain: domain, - ); - - if (!createReverseResult.success) { - showDomainErrorPopUp(errorMessage); - return false; - } - return true; } @@ -586,9 +566,7 @@ class ServerInstallationRepository { } Future> getServersOnProviderAccount() async => - ApiController.currentServerProviderApiFactory! - .getServerProvider() - .getServers(); + (await ProvidersController.currentServerProvider!.getServers()).data; Future saveServerDetails( final ServerHostingDetails serverDetails, @@ -681,12 +659,10 @@ class ServerInstallationRepository { } Future deleteServer(final ServerDomain serverDomain) async { - final GenericResult deletionResult = await ApiController - .currentServerProviderApiFactory! - .getServerProvider() - .deleteServer( - domainName: serverDomain.domainName, - ); + final deletionResult = + await ProvidersController.currentServerProvider!.deleteServer( + serverDomain.domainName, + ); if (!deletionResult.success) { getIt() @@ -694,12 +670,6 @@ class ServerInstallationRepository { return false; } - if (!deletionResult.data) { - getIt() - .showSnackBar('modals.server_deletion_error'.tr()); - return false; - } - await box.put(BNames.hasFinalChecked, false); await box.put(BNames.isServerStarted, false); await box.put(BNames.isServerResetedFirstTime, false); diff --git a/lib/logic/providers/server_provider.dart b/lib/logic/providers/server_provider.dart index 781f0d2b..ffb64e12 100644 --- a/lib/logic/providers/server_provider.dart +++ b/lib/logic/providers/server_provider.dart @@ -5,6 +5,8 @@ import 'package:selfprivacy/logic/models/hive/server_details.dart'; import 'package:selfprivacy/logic/models/launch_installation_data.dart'; import 'package:selfprivacy/logic/models/metrics.dart'; import 'package:selfprivacy/logic/models/price.dart'; +import 'package:selfprivacy/logic/models/server_basic_info.dart'; +import 'package:selfprivacy/logic/models/server_metadata.dart'; import 'package:selfprivacy/logic/models/server_provider_location.dart'; import 'package:selfprivacy/logic/models/server_type.dart'; @@ -12,12 +14,17 @@ export 'package:selfprivacy/logic/api_maps/generic_result.dart'; export 'package:selfprivacy/logic/models/launch_installation_data.dart'; abstract class ServerProvider { + Future>> getServers(); Future> trySetServerLocation(final String location); Future> tryInitApiByToken(final String token); Future>> getAvailableLocations(); Future>> getServerTypes({ required final ServerProviderLocation location, }); + + Future> deleteServer( + final String hostname, + ); Future> launchInstallation( final LaunchInstallationData installationData, ); @@ -42,5 +49,8 @@ abstract class ServerProvider { final int serverId, ); Future> detachVolume(final ServerVolume volume); + Future>> getMetadata( + final int serverId, + ); GenericResult get success => GenericResult(success: true, data: true); } diff --git a/lib/logic/providers/server_providers/hetzner.dart b/lib/logic/providers/server_providers/hetzner.dart index 7b59c2a3..dc1548b1 100644 --- a/lib/logic/providers/server_providers/hetzner.dart +++ b/lib/logic/providers/server_providers/hetzner.dart @@ -209,6 +209,7 @@ class HetznerServerProvider extends ServerProvider { return GenericResult(success: true, data: servers); } + @override Future>> getMetadata( final int serverId, ) async { @@ -573,6 +574,7 @@ class HetznerServerProvider extends ServerProvider { return GenericResult(success: true, data: null); } + @override Future> deleteServer( final String hostname, ) async { diff --git a/lib/ui/router/router.gr.dart b/lib/ui/router/router.gr.dart index e5b0449f..ee569a83 100644 --- a/lib/ui/router/router.gr.dart +++ b/lib/ui/router/router.gr.dart @@ -10,8 +10,7 @@ part of 'router.dart'; abstract class _$RootRouter extends RootStackRouter { - _$RootRouter([GlobalKey? navigatorKey]) - : super(navigatorKey: navigatorKey); + _$RootRouter([GlobalKey? navigatorKey]) : super(navigatorKey: navigatorKey); @override final Map pagesMap = {