diff --git a/lib/logic/api_maps/hetzner.dart b/lib/logic/api_maps/hetzner.dart index a2ba9962b6..ad1eacb0ff 100644 --- a/lib/logic/api_maps/hetzner.dart +++ b/lib/logic/api_maps/hetzner.dart @@ -192,4 +192,20 @@ class HetznerApi extends ApiMap { return HetznerServerInfo.fromJson(response.data!['server']); } + + Future createReverseDns({ + required String ip4, + required String domainName, + }) async { + var hetznerServer = getIt().hetznerServer; + var client = await getClient(); + await client.post( + '/servers/${hetznerServer!.id}/actions/change_dns_ptr', + data: { + "ip": ip4, + "dns_ptr": domainName, + }, + ); + close(client); + } } diff --git a/lib/logic/cubit/app_config/app_config_cubit.dart b/lib/logic/cubit/app_config/app_config_cubit.dart index 86b91fb557..d8b8f36e12 100644 --- a/lib/logic/cubit/app_config/app_config_cubit.dart +++ b/lib/logic/cubit/app_config/app_config_cubit.dart @@ -316,7 +316,7 @@ class AppConfigCubit extends Cubit { void createServerAndSetDnsRecords() async { AppConfigState _stateCopy = state; - var onSuccess = (serverDetails) async { + var onSuccess = (HetznerServerDetails serverDetails) async { await repository.createDnsRecords( serverDetails.ip4, state.cloudFlareDomain!, diff --git a/lib/logic/cubit/app_config/app_config_repository.dart b/lib/logic/cubit/app_config/app_config_repository.dart index da9bee28b0..b2930001e2 100644 --- a/lib/logic/cubit/app_config/app_config_repository.dart +++ b/lib/logic/cubit/app_config/app_config_repository.dart @@ -149,7 +149,7 @@ class AppConfigRepository { } Future createDnsRecords( - String? ip4, + String ip4, CloudFlareDomain cloudFlareDomain, ) async { var cloudflareApi = CloudflareApi(); @@ -163,6 +163,11 @@ class AppConfigRepository { ip4: ip4, cloudFlareDomain: cloudFlareDomain, ); + + await HetznerApi().createReverseDns( + ip4: ip4, + domainName: cloudFlareDomain.domainName, + ); } Future isHttpServerWorking() async {