From 1e9f1f88a7302d65f780096516b476c898d3f85e Mon Sep 17 00:00:00 2001 From: NaiJi Date: Tue, 25 Apr 2023 16:44:43 -0300 Subject: [PATCH] fix: Hetzner installation issues - Replace serverType id with locaiton id - Replaces id accessing in volume from .id to [id] --- .../rest_maps/server_providers/hetzner/hetzner_api.dart | 1 - .../server_installation/server_installation_cubit.dart | 2 +- lib/logic/providers/server_providers/hetzner.dart | 9 +++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart index 44bfb66b..d09cce18 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner_api.dart @@ -10,7 +10,6 @@ import 'package:selfprivacy/logic/models/json/hetzner_server_info.dart'; import 'package:selfprivacy/logic/models/hive/server_details.dart'; import 'package:selfprivacy/logic/models/hive/user.dart'; import 'package:selfprivacy/logic/models/price.dart'; -import 'package:selfprivacy/logic/models/server_provider_location.dart'; import 'package:selfprivacy/utils/password_generator.dart'; class HetznerApi extends ServerProviderApi with VolumeProviderApi { diff --git a/lib/logic/cubit/server_installation/server_installation_cubit.dart b/lib/logic/cubit/server_installation/server_installation_cubit.dart index db5f1131..68da2c81 100644 --- a/lib/logic/cubit/server_installation/server_installation_cubit.dart +++ b/lib/logic/cubit/server_installation/server_installation_cubit.dart @@ -175,7 +175,7 @@ class ServerInstallationCubit extends Cubit { await repository.saveServerType(serverType); await ProvidersController.currentServerProvider! - .trySetServerLocation(serverType.identifier); + .trySetServerLocation(serverType.location.identifier); emit( (state as ServerInstallationNotFinished).copyWith( diff --git a/lib/logic/providers/server_providers/hetzner.dart b/lib/logic/providers/server_providers/hetzner.dart index dc1548b1..cc3b05d1 100644 --- a/lib/logic/providers/server_providers/hetzner.dart +++ b/lib/logic/providers/server_providers/hetzner.dart @@ -172,6 +172,7 @@ class HetznerServerProvider extends ServerProvider { return GenericResult(success: true, data: types); } + @override Future>> getServers() async { final List servers = []; final result = await _adapter.api().getServers(); @@ -434,7 +435,7 @@ class HetznerServerProvider extends ServerProvider { ); } - final volume = volumeResult.data; + final volume = volumeResult.data['volume']; final serverApiToken = StringGenerators.apiToken(); final hostname = getHostnameFromDomain(installationData.domainName); @@ -446,7 +447,7 @@ class HetznerServerProvider extends ServerProvider { dnsProviderType: dnsProviderToInfectName(installationData.dnsProviderType), hostName: hostname, - volumeId: volume.id, + volumeId: volume['id'], base64Password: base64.encode( utf8.encode(installationData.rootUser.password ?? 'PASS'), ), @@ -455,7 +456,7 @@ class HetznerServerProvider extends ServerProvider { ); if (!serverResult.success || serverResult.data == null) { - await _adapter.api().deleteVolume(volume.id); + await _adapter.api().deleteVolume(volume['id']); await Future.delayed(const Duration(seconds: 5)); if (serverResult.message != null && serverResult.message == 'uniqueness_error') { @@ -549,7 +550,7 @@ class HetznerServerProvider extends ServerProvider { CallbackDialogueChoice( title: 'basis.try_again'.tr(), callback: () async { - await _adapter.api().deleteVolume(volume.id); + await _adapter.api().deleteVolume(volume['id']); await Future.delayed(const Duration(seconds: 5)); final deletion = await deleteServer(hostname); if (deletion.success) {