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 989085b2..6bc66b35 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 @@ -252,7 +252,10 @@ class DigitalOceanApi extends ServerProviderApi with VolumeProviderApi { } @override - Future resizeVolume(final ServerVolume volume, final int sizeGb) async { + Future resizeVolume( + final ServerVolume volume, + final DiskSize size, + ) async { bool success = false; final Response dbPostResponse; @@ -263,7 +266,7 @@ class DigitalOceanApi extends ServerProviderApi with VolumeProviderApi { data: { 'type': 'resize', 'volume_name': volume.name, - 'size_gigabytes': sizeGb, + 'size_gigabytes': size.gibibyte, 'region': region, }, ); 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 6c67ff3e..13fb2cde 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 @@ -281,7 +281,10 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi { } @override - Future resizeVolume(final ServerVolume volume, final int sizeGb) async { + Future resizeVolume( + final ServerVolume volume, + final DiskSize size, + ) async { bool success = false; final Response dbPostResponse; @@ -290,7 +293,7 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi { dbPostResponse = await client.post( '/volumes/$volume.id/actions/resize', data: { - 'size': sizeGb, + 'size': size.gibibyte, }, ); success = dbPostResponse.data['action']['status'].toString() != 'error'; diff --git a/lib/logic/api_maps/rest_maps/server_providers/volume_provider.dart b/lib/logic/api_maps/rest_maps/server_providers/volume_provider.dart index da196406..d3ae6f2a 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/volume_provider.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/volume_provider.dart @@ -1,4 +1,5 @@ import 'package:selfprivacy/logic/api_maps/rest_maps/api_map.dart'; +import 'package:selfprivacy/logic/models/disk_size.dart'; import 'package:selfprivacy/logic/models/hive/server_details.dart'; import 'package:selfprivacy/logic/models/price.dart'; @@ -7,7 +8,7 @@ mixin VolumeProviderApi on ApiMap { Future> getVolumes({final String? status}); Future attachVolume(final ServerVolume volume, final int serverId); Future detachVolume(final ServerVolume volume); - Future resizeVolume(final ServerVolume volume, final int sizeGb); + Future resizeVolume(final ServerVolume volume, final DiskSize size); Future deleteVolume(final ServerVolume volume); Future getPricePerGb(); } diff --git a/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart b/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart index 1c9ef2b1..1a8f1c15 100644 --- a/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart +++ b/lib/logic/cubit/provider_volumes/provider_volume_cubit.dart @@ -6,6 +6,7 @@ import 'package:selfprivacy/logic/api_maps/rest_maps/api_factory_settings.dart'; import 'package:selfprivacy/logic/api_maps/rest_maps/server_providers/server_provider_factory.dart'; import 'package:selfprivacy/logic/common_enum/common_enum.dart'; import 'package:selfprivacy/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart'; +import 'package:selfprivacy/logic/models/disk_size.dart'; import 'package:selfprivacy/logic/models/hive/server_details.dart'; import 'package:selfprivacy/logic/models/disk_status.dart'; import 'package:selfprivacy/logic/models/price.dart'; @@ -76,7 +77,7 @@ class ApiProviderVolumeCubit Future resizeVolume( final DiskVolume volume, - final int newSizeGb, + final DiskSize newSize, final Function() callback, ) async { getIt().showSnackBar( @@ -85,7 +86,7 @@ class ApiProviderVolumeCubit emit(state.copyWith(isResizing: true)); final bool resized = await providerApi!.getVolumeProvider().resizeVolume( volume.providerVolume!, - newSizeGb, + newSize, ); if (!resized) { diff --git a/lib/ui/pages/server_storage/extending_volume.dart b/lib/ui/pages/server_storage/extending_volume.dart index b2293e11..e16544b5 100644 --- a/lib/ui/pages/server_storage/extending_volume.dart +++ b/lib/ui/pages/server_storage/extending_volume.dart @@ -153,7 +153,7 @@ class _ExtendingVolumePageState extends State { : () { context.read().resizeVolume( widget.diskVolumeToResize, - _currentSliderGbValue.round(), + DiskSize.fromGibibyte(_currentSliderGbValue), context.read().reload, ); Navigator.of(context).pushAndRemoveUntil(