From 57d82d0f7abf08232c5466e92a7347f22758d2b9 Mon Sep 17 00:00:00 2001 From: NaiJi Date: Sat, 29 Oct 2022 12:03:43 +0400 Subject: [PATCH] refactor(server-api): Move provider name from hardcode string to a polymorphic variable - Rename 'digital-ocean' to 'digitalocean' --- .../server_providers/digital_ocean/digital_ocean.dart | 7 +++++-- .../rest_maps/server_providers/hetzner/hetzner.dart | 7 +++++-- .../rest_maps/server_providers/server_provider.dart | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart index ee574988..37965890 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart @@ -46,7 +46,10 @@ class DigitalOceanApi extends ServerProviderApi with VolumeProviderApi { } @override - String rootAddress = 'https://api.digitalocean.com/v2'; + final String rootAddress = 'https://api.digitalocean.com/v2'; + + @override + final String infectProviderName = 'digitalocean'; @override Future isApiTokenValid(final String token) async { @@ -311,7 +314,7 @@ class DigitalOceanApi extends ServerProviderApi with VolumeProviderApi { final String formattedHostname = getHostnameFromDomain(domainName); final String userdataString = - "#cloud-config\nruncmd:\n- curl https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect/raw/branch/master/nixos-infect | PROVIDER=digital-ocean NIX_CHANNEL=nixos-21.05 DOMAIN='$domainName' LUSER='${rootUser.login}' ENCODED_PASSWORD='$base64Password' CF_TOKEN=$dnsApiToken DB_PASSWORD=$dbPassword API_TOKEN=$apiToken HOSTNAME=$formattedHostname bash 2>&1 | tee /tmp/infect.log"; + "#cloud-config\nruncmd:\n- curl https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect/raw/branch/master/nixos-infect | PROVIDER=$infectProviderName NIX_CHANNEL=nixos-21.05 DOMAIN='$domainName' LUSER='${rootUser.login}' ENCODED_PASSWORD='$base64Password' CF_TOKEN=$dnsApiToken DB_PASSWORD=$dbPassword API_TOKEN=$apiToken HOSTNAME=$formattedHostname bash 2>&1 | tee /tmp/infect.log"; print(userdataString); final Dio client = await getClient(); diff --git a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart index 7a26de87..6c67ff3e 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart @@ -46,7 +46,10 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi { } @override - String rootAddress = 'https://api.hetzner.cloud/v1'; + final String rootAddress = 'https://api.hetzner.cloud/v1'; + + @override + final String infectProviderName = 'hetzner'; @override Future isApiTokenValid(final String token) async { @@ -344,7 +347,7 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi { base64.encode(utf8.encode(rootUser.password ?? 'PASS')); final String userdataString = - "#cloud-config\nruncmd:\n- curl https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect/raw/branch/master/nixos-infect | PROVIDER=hetzner NIX_CHANNEL=nixos-21.05 DOMAIN='$domainName' LUSER='${rootUser.login}' ENCODED_PASSWORD='$base64Password' CF_TOKEN=$dnsApiToken DB_PASSWORD=$dbPassword API_TOKEN=$apiToken HOSTNAME=$hostname bash 2>&1 | tee /tmp/infect.log"; + "#cloud-config\nruncmd:\n- curl https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect/raw/branch/master/nixos-infect | PROVIDER=$infectProviderName NIX_CHANNEL=nixos-21.05 DOMAIN='$domainName' LUSER='${rootUser.login}' ENCODED_PASSWORD='$base64Password' CF_TOKEN=$dnsApiToken DB_PASSWORD=$dbPassword API_TOKEN=$apiToken HOSTNAME=$hostname bash 2>&1 | tee /tmp/infect.log"; ServerHostingDetails? serverDetails; DioError? hetznerError; diff --git a/lib/logic/api_maps/rest_maps/server_providers/server_provider.dart b/lib/logic/api_maps/rest_maps/server_providers/server_provider.dart index 7d42c0ab..b04ae1e0 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/server_provider.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/server_provider.dart @@ -39,4 +39,6 @@ abstract class ServerProviderApi extends ApiMap { Future isApiTokenValid(final String token); ProviderApiTokenValidation getApiTokenValidation(); + + abstract final String infectProviderName; }