From 040fc43e1f5513c9cf11d9f0a45bf18bf2949c3d Mon Sep 17 00:00:00 2001 From: NaiJi Date: Fri, 2 Jun 2023 02:44:34 -0300 Subject: [PATCH] fix: Add DNS provider type to provider classes to fix wrong domain type --- .../cubit/forms/setup/initializing/domain_setup_cubit.dart | 5 +++-- lib/logic/providers/dns_providers/cloudflare.dart | 3 +++ lib/logic/providers/dns_providers/desec.dart | 3 +++ lib/logic/providers/dns_providers/digital_ocean_dns.dart | 3 +++ lib/logic/providers/dns_providers/dns_provider.dart | 1 + lib/logic/providers/server_providers/digital_ocean.dart | 3 +++ lib/logic/providers/server_providers/hetzner.dart | 3 +++ lib/logic/providers/server_providers/server_provider.dart | 1 + 8 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/logic/cubit/forms/setup/initializing/domain_setup_cubit.dart b/lib/logic/cubit/forms/setup/initializing/domain_setup_cubit.dart index 1437a6e2..8c66deb7 100644 --- a/lib/logic/cubit/forms/setup/initializing/domain_setup_cubit.dart +++ b/lib/logic/cubit/forms/setup/initializing/domain_setup_cubit.dart @@ -28,14 +28,15 @@ class DomainSetupCubit extends Cubit { emit(Loading(LoadingTypes.saving)); + final dnsProvider = ProvidersController.currentDnsProvider!; final GenericResult zoneIdResult = - await ProvidersController.currentDnsProvider!.getZoneId(domainName); + await dnsProvider.getZoneId(domainName); if (zoneIdResult.success || zoneIdResult.data != null) { final ServerDomain domain = ServerDomain( domainName: domainName, zoneId: zoneIdResult.data!, - provider: DnsProviderType.cloudflare, + provider: dnsProvider.type, ); serverInstallationCubit.setDomain(domain); diff --git a/lib/logic/providers/dns_providers/cloudflare.dart b/lib/logic/providers/dns_providers/cloudflare.dart index bd01b240..1f53761d 100644 --- a/lib/logic/providers/dns_providers/cloudflare.dart +++ b/lib/logic/providers/dns_providers/cloudflare.dart @@ -29,6 +29,9 @@ class CloudflareDnsProvider extends DnsProvider { ApiAdapter _adapter; + @override + DnsProviderType get type => DnsProviderType.cloudflare; + @override Future> tryInitApiByToken(final String token) async { final api = _adapter.api(getInitialized: false); diff --git a/lib/logic/providers/dns_providers/desec.dart b/lib/logic/providers/dns_providers/desec.dart index fe09fd3c..7111c0ba 100644 --- a/lib/logic/providers/dns_providers/desec.dart +++ b/lib/logic/providers/dns_providers/desec.dart @@ -29,6 +29,9 @@ class DesecDnsProvider extends DnsProvider { ApiAdapter _adapter; + @override + DnsProviderType get type => DnsProviderType.desec; + @override Future> tryInitApiByToken(final String token) async { final api = _adapter.api(getInitialized: false); diff --git a/lib/logic/providers/dns_providers/digital_ocean_dns.dart b/lib/logic/providers/dns_providers/digital_ocean_dns.dart index ca34ad16..b231c414 100644 --- a/lib/logic/providers/dns_providers/digital_ocean_dns.dart +++ b/lib/logic/providers/dns_providers/digital_ocean_dns.dart @@ -29,6 +29,9 @@ class DigitalOceanDnsProvider extends DnsProvider { ApiAdapter _adapter; + @override + DnsProviderType get type => DnsProviderType.digitalOcean; + @override Future> tryInitApiByToken(final String token) async { final api = _adapter.api(getInitialized: false); diff --git a/lib/logic/providers/dns_providers/dns_provider.dart b/lib/logic/providers/dns_providers/dns_provider.dart index 14e31c32..60976f68 100644 --- a/lib/logic/providers/dns_providers/dns_provider.dart +++ b/lib/logic/providers/dns_providers/dns_provider.dart @@ -5,6 +5,7 @@ import 'package:selfprivacy/logic/models/json/dns_records.dart'; export 'package:selfprivacy/logic/api_maps/generic_result.dart'; abstract class DnsProvider { + DnsProviderType get type; Future> tryInitApiByToken(final String token); Future> getZoneId(final String domain); Future> removeDomainRecords({ diff --git a/lib/logic/providers/server_providers/digital_ocean.dart b/lib/logic/providers/server_providers/digital_ocean.dart index 01b27ef1..a745434d 100644 --- a/lib/logic/providers/server_providers/digital_ocean.dart +++ b/lib/logic/providers/server_providers/digital_ocean.dart @@ -46,6 +46,9 @@ class DigitalOceanServerProvider extends ServerProvider { ApiAdapter _adapter; + @override + ServerProviderType get type => ServerProviderType.digitalOcean; + @override Future> trySetServerLocation( final String location, diff --git a/lib/logic/providers/server_providers/hetzner.dart b/lib/logic/providers/server_providers/hetzner.dart index ce0bd416..7bacb8a2 100644 --- a/lib/logic/providers/server_providers/hetzner.dart +++ b/lib/logic/providers/server_providers/hetzner.dart @@ -47,6 +47,9 @@ class HetznerServerProvider extends ServerProvider { ApiAdapter _adapter; + @override + ServerProviderType get type => ServerProviderType.hetzner; + @override Future> trySetServerLocation( final String location, diff --git a/lib/logic/providers/server_providers/server_provider.dart b/lib/logic/providers/server_providers/server_provider.dart index ffb64e12..f1004192 100644 --- a/lib/logic/providers/server_providers/server_provider.dart +++ b/lib/logic/providers/server_providers/server_provider.dart @@ -14,6 +14,7 @@ export 'package:selfprivacy/logic/api_maps/generic_result.dart'; export 'package:selfprivacy/logic/models/launch_installation_data.dart'; abstract class ServerProvider { + ServerProviderType get type; Future>> getServers(); Future> trySetServerLocation(final String location); Future> tryInitApiByToken(final String token);