chore: Replace dynamic blobs with HetznerLocation

pull/213/head
NaiJi ✨ 2023-06-07 00:25:34 -03:00
parent 875a9e2e86
commit f42e415633
3 changed files with 19 additions and 13 deletions

View File

@ -526,16 +526,15 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi {
return GenericResult(data: servers, success: true);
}
Future<GenericResult<List>> getAvailableLocations() async {
List locations = [];
Future<GenericResult<List<HetznerLocation>>> getAvailableLocations() async {
final List<HetznerLocation> locations = [];
final Dio client = await getClient();
try {
final Response response = await client.get(
'/locations',
);
locations = response.data!['locations'];
final Response response = await client.get('/locations');
for (final location in response.data!['locations']) {
locations.add(HetznerLocation.fromJson(location));
}
} catch (e) {
print(e);
return GenericResult(

View File

@ -118,7 +118,14 @@ class HetznerPriceInfo {
@JsonSerializable()
class HetznerLocation {
HetznerLocation(this.country, this.city, this.description, this.zone);
HetznerLocation(
this.country,
this.city,
this.description,
this.zone,
this.name,
);
final String name;
final String country;
final String city;
final String description;

View File

@ -116,15 +116,15 @@ class HetznerServerProvider extends ServerProvider {
);
}
final List rawLocations = result.data;
final List<HetznerLocation> rawLocations = result.data;
for (final rawLocation in rawLocations) {
ServerProviderLocation? location;
try {
location = ServerProviderLocation(
title: rawLocation['city'],
description: rawLocation['description'],
flag: getEmojiFlag(rawLocation['country']),
identifier: rawLocation['name'],
title: rawLocation.city,
description: rawLocation.description,
flag: getEmojiFlag(rawLocation.country),
identifier: rawLocation.name,
);
} catch (e) {
continue;