refactor: Create empty DnsProvider interfaces
parent
0d55361a9b
commit
30385c2470
|
@ -7,7 +7,7 @@ class ApiController {
|
|||
_dnsProviderApiFactory;
|
||||
|
||||
static void initDnsProviderApiFactory(
|
||||
final DnsProviderFactorySettings settings,
|
||||
final DnsProviderSettings settings,
|
||||
) {
|
||||
_dnsProviderApiFactory =
|
||||
ApiFactoryCreator.createDnsProviderApiFactory(settings);
|
||||
|
|
|
@ -28,7 +28,7 @@ class ApiFactoryCreator {
|
|||
}
|
||||
|
||||
static DnsProviderApiFactory createDnsProviderApiFactory(
|
||||
final DnsProviderFactorySettings settings,
|
||||
final DnsProviderSettings settings,
|
||||
) {
|
||||
switch (settings.provider) {
|
||||
case DnsProviderType.cloudflare:
|
||||
|
|
|
@ -4,5 +4,5 @@ class StagingOptions {
|
|||
/// Whether we request for staging temprorary certificates.
|
||||
/// Hardcode to 'true' in the middle of testing to not
|
||||
/// get your domain banned by constant certificate renewal
|
||||
static bool get stagingAcme => false;
|
||||
static bool get stagingAcme => true;
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ class ServerInstallationCubit extends Cubit<ServerInstallationState> {
|
|||
void setDnsProviderType(final DnsProviderType providerType) async {
|
||||
await repository.saveDnsProviderType(providerType);
|
||||
ApiController.initDnsProviderApiFactory(
|
||||
DnsProviderFactorySettings(
|
||||
DnsProviderSettings(
|
||||
provider: providerType,
|
||||
),
|
||||
);
|
||||
|
|
|
@ -73,7 +73,7 @@ class ServerInstallationRepository {
|
|||
(serverDomain != null &&
|
||||
serverDomain.provider != ServerProviderType.unknown)) {
|
||||
ApiController.initDnsProviderApiFactory(
|
||||
DnsProviderFactorySettings(
|
||||
DnsProviderSettings(
|
||||
provider: dnsProvider ?? serverDomain!.provider,
|
||||
),
|
||||
);
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
import 'package:selfprivacy/logic/providers/dns_providers/dns_provider.dart';
|
||||
|
||||
class CloudflareDnsProvider extends DnsProvider {}
|
|
@ -0,0 +1,3 @@
|
|||
import 'package:selfprivacy/logic/providers/dns_providers/dns_provider.dart';
|
||||
|
||||
class DigitalOceanDnsProvider extends DnsProvider {}
|
|
@ -0,0 +1 @@
|
|||
abstract class DnsProvider {}
|
|
@ -0,0 +1,25 @@
|
|||
import 'package:selfprivacy/logic/models/hive/server_domain.dart';
|
||||
import 'package:selfprivacy/logic/providers/dns_providers/cloudflare.dart';
|
||||
import 'package:selfprivacy/logic/providers/dns_providers/digital_ocean.dart';
|
||||
import 'package:selfprivacy/logic/providers/dns_providers/dns_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/provider_settings.dart';
|
||||
|
||||
class UnknownProviderException implements Exception {
|
||||
UnknownProviderException(this.message);
|
||||
final String message;
|
||||
}
|
||||
|
||||
class DnsProviderFactory {
|
||||
static DnsProvider createDnsProviderInterface(
|
||||
final DnsProviderSettings settings,
|
||||
) {
|
||||
switch (settings.provider) {
|
||||
case DnsProviderType.cloudflare:
|
||||
return CloudflareDnsProvider();
|
||||
case DnsProviderType.digitalOcean:
|
||||
return DigitalOceanDnsProvider();
|
||||
case DnsProviderType.unknown:
|
||||
throw UnknownProviderException('Unknown server provider');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -11,8 +11,8 @@ class ServerProviderSettings {
|
|||
final String? location;
|
||||
}
|
||||
|
||||
class DnsProviderFactorySettings {
|
||||
DnsProviderFactorySettings({
|
||||
class DnsProviderSettings {
|
||||
DnsProviderSettings({
|
||||
required this.provider,
|
||||
});
|
||||
|
||||
|
|
|
@ -1,20 +1,34 @@
|
|||
import 'package:selfprivacy/logic/providers/dns_providers/dns_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/dns_providers/dns_provider_factory.dart';
|
||||
import 'package:selfprivacy/logic/providers/provider_settings.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_providers/server_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_providers/server_provider_factory.dart';
|
||||
|
||||
class ProvidersController {
|
||||
static ServerProvider? get currentServerProvider => _serverProvider;
|
||||
static DnsProvider? get currentDnsProvider => _dnsProvider;
|
||||
|
||||
static void initServerProvider(
|
||||
final ServerProviderSettings settings,
|
||||
) {
|
||||
_serverProvider =
|
||||
ServerProviderFactory.createServerProviderInterface(settings);
|
||||
_serverProvider = ServerProviderFactory.createServerProviderInterface(
|
||||
settings,
|
||||
);
|
||||
}
|
||||
|
||||
static void initDnsProvider(
|
||||
final DnsProviderSettings settings,
|
||||
) {
|
||||
_dnsProvider = DnsProviderFactory.createDnsProviderInterface(
|
||||
settings,
|
||||
);
|
||||
}
|
||||
|
||||
static void clearProviders() {
|
||||
_serverProvider = null;
|
||||
_dnsProvider = null;
|
||||
}
|
||||
|
||||
static ServerProvider? _serverProvider;
|
||||
static DnsProvider? _dnsProvider;
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ 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';
|
||||
import 'package:selfprivacy/logic/providers/server_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_providers/server_provider.dart';
|
||||
import 'package:selfprivacy/utils/extensions/string_extensions.dart';
|
||||
import 'package:selfprivacy/utils/network_utils.dart';
|
||||
import 'package:selfprivacy/utils/password_generator.dart';
|
||||
|
|
|
@ -13,7 +13,7 @@ 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';
|
||||
import 'package:selfprivacy/logic/providers/server_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_providers/server_provider.dart';
|
||||
import 'package:selfprivacy/utils/extensions/string_extensions.dart';
|
||||
import 'package:selfprivacy/utils/network_utils.dart';
|
||||
import 'package:selfprivacy/utils/password_generator.dart';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import 'package:selfprivacy/logic/providers/provider_settings.dart';
|
||||
import 'package:selfprivacy/logic/models/hive/server_details.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_providers/server_provider.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_providers/digital_ocean.dart';
|
||||
import 'package:selfprivacy/logic/providers/server_providers/hetzner.dart';
|
||||
|
||||
|
|
Loading…
Reference in New Issue