fix: Add DNS provider type to provider classes to fix wrong domain type

pull/213/head
NaiJi ✨ 2023-06-02 02:44:34 -03:00
parent 3a40b5ed32
commit 040fc43e1f
8 changed files with 20 additions and 2 deletions

View File

@ -28,14 +28,15 @@ class DomainSetupCubit extends Cubit<DomainSetupState> {
emit(Loading(LoadingTypes.saving));
final dnsProvider = ProvidersController.currentDnsProvider!;
final GenericResult<String?> 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);

View File

@ -29,6 +29,9 @@ class CloudflareDnsProvider extends DnsProvider {
ApiAdapter _adapter;
@override
DnsProviderType get type => DnsProviderType.cloudflare;
@override
Future<GenericResult<bool>> tryInitApiByToken(final String token) async {
final api = _adapter.api(getInitialized: false);

View File

@ -29,6 +29,9 @@ class DesecDnsProvider extends DnsProvider {
ApiAdapter _adapter;
@override
DnsProviderType get type => DnsProviderType.desec;
@override
Future<GenericResult<bool>> tryInitApiByToken(final String token) async {
final api = _adapter.api(getInitialized: false);

View File

@ -29,6 +29,9 @@ class DigitalOceanDnsProvider extends DnsProvider {
ApiAdapter _adapter;
@override
DnsProviderType get type => DnsProviderType.digitalOcean;
@override
Future<GenericResult<bool>> tryInitApiByToken(final String token) async {
final api = _adapter.api(getInitialized: false);

View File

@ -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<GenericResult<bool>> tryInitApiByToken(final String token);
Future<GenericResult<String?>> getZoneId(final String domain);
Future<GenericResult<void>> removeDomainRecords({

View File

@ -46,6 +46,9 @@ class DigitalOceanServerProvider extends ServerProvider {
ApiAdapter _adapter;
@override
ServerProviderType get type => ServerProviderType.digitalOcean;
@override
Future<GenericResult<bool>> trySetServerLocation(
final String location,

View File

@ -47,6 +47,9 @@ class HetznerServerProvider extends ServerProvider {
ApiAdapter _adapter;
@override
ServerProviderType get type => ServerProviderType.hetzner;
@override
Future<GenericResult<bool>> trySetServerLocation(
final String location,

View File

@ -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<GenericResult<List<ServerBasicInfo>>> getServers();
Future<GenericResult<bool>> trySetServerLocation(final String location);
Future<GenericResult<bool>> tryInitApiByToken(final String token);