Minor flow bugfixes

pull/90/head
NaiJi ✨ 2022-06-09 09:51:29 +03:00
parent 43411adf2c
commit 3fbdc05469
3 changed files with 50 additions and 27 deletions

View File

@ -76,7 +76,7 @@ class HetznerApi extends ApiMap {
);
}
Future<ServerHostingDetails> createServer({
Future<ServerHostingDetails?> createServer({
required final String cloudFlareKey,
required final User rootUser,
required final String domainName,
@ -117,21 +117,32 @@ class HetznerApi extends ApiMap {
};
print('Decoded data: $data');
final Response serverCreateResponse = await client.post(
'/servers',
data: data,
);
ServerHostingDetails? serverDetails;
print(serverCreateResponse.data);
client.close();
return ServerHostingDetails(
id: serverCreateResponse.data['server']['id'],
ip4: serverCreateResponse.data['server']['public_net']['ipv4']['ip'],
createTime: DateTime.now(),
volume: dataBase,
apiToken: apiToken,
provider: ServerProvider.hetzner,
);
try {
final Response serverCreateResponse = await client.post(
'/servers',
data: data,
);
print(serverCreateResponse.data);
serverDetails = ServerHostingDetails(
id: serverCreateResponse.data['server']['id'],
ip4: serverCreateResponse.data['server']['public_net']['ipv4']['ip'],
createTime: DateTime.now(),
volume: dataBase,
apiToken: apiToken,
provider: ServerProvider.hetzner,
);
} on DioError catch (e) {
print(e);
rethrow;
} catch (e) {
print(e);
} finally {
client.close();
}
return serverDetails;
}
static String getHostnameFromDomain(final String domain) {
@ -247,14 +258,20 @@ class HetznerApi extends ApiMap {
}) async {
final ServerHostingDetails? hetznerServer =
getIt<ApiConfigModel>().serverDetails;
final Dio client = await getClient();
await client.post(
'/servers/${hetznerServer!.id}/actions/change_dns_ptr',
data: {
'ip': ip4,
'dns_ptr': domainName,
},
);
close(client);
try {
await client.post(
'/servers/${hetznerServer!.id}/actions/change_dns_ptr',
data: {
'ip': ip4,
'dns_ptr': domainName,
},
);
} catch (e) {
print(e);
} finally {
close(client);
}
}
}

View File

@ -214,12 +214,16 @@ class ServerInstallationRepository {
try {
dataBase = await hetznerApi.createVolume();
final ServerHostingDetails serverDetails = await hetznerApi.createServer(
final ServerHostingDetails? serverDetails = await hetznerApi.createServer(
cloudFlareKey: cloudFlareKey,
rootUser: rootUser,
domainName: domainName,
dataBase: dataBase,
);
if (serverDetails == null) {
print('Server is not initialized!');
return;
}
saveServerDetails(serverDetails);
onSuccess(serverDetails);
} on DioError catch (e) {
@ -238,14 +242,17 @@ class ServerInstallationRepository {
domainName: domainName,
);
final ServerHostingDetails serverDetails =
final ServerHostingDetails? serverDetails =
await hetznerApi.createServer(
cloudFlareKey: cloudFlareKey,
rootUser: rootUser,
domainName: domainName,
dataBase: dataBase,
);
if (serverDetails == null) {
print('Server is not initialized!');
return;
}
await saveServerDetails(serverDetails);
onSuccess(serverDetails);
},

View File

@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:selfprivacy/config/brand_theme.dart';
import 'package:selfprivacy/ui/components/brand_divider/brand_divider.dart';
import 'package:selfprivacy/ui/components/brand_header/brand_header.dart';