From fbacb5969d7d04a1b3b18e536abf502e905ad6d3 Mon Sep 17 00:00:00 2001 From: NaiJi Date: Sat, 30 Sep 2023 21:02:53 -0300 Subject: [PATCH 1/2] fix: Force size value truncation for digital ocean, change query url - Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/367 --- .../server_providers/digital_ocean/digital_ocean_api.dart | 7 +++---- lib/logic/providers/server_providers/digital_ocean.dart | 2 +- lib/ui/pages/server_storage/extending_volume.dart | 4 +++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart index aa1481a0..319ff062 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart @@ -455,7 +455,7 @@ class DigitalOceanApi extends RestApiMap { } Future> resizeVolume( - final String name, + final String uuid, final DiskSize size, ) async { bool success = false; @@ -464,11 +464,10 @@ class DigitalOceanApi extends RestApiMap { final Dio client = await getClient(); try { resizeVolumeResponse = await client.post( - '/volumes/actions', + '/volumes/$uuid/actions', data: { 'type': 'resize', - 'volume_name': name, - 'size_gigabytes': size.gibibyte, + 'size_gigabytes': size.gibibyte.toInt(), 'region': region, }, ); diff --git a/lib/logic/providers/server_providers/digital_ocean.dart b/lib/logic/providers/server_providers/digital_ocean.dart index 4b6ee838..ce444169 100644 --- a/lib/logic/providers/server_providers/digital_ocean.dart +++ b/lib/logic/providers/server_providers/digital_ocean.dart @@ -698,7 +698,7 @@ class DigitalOceanServerProvider extends ServerProvider { final DiskSize size, ) async => _adapter.api().resizeVolume( - volume.name, + volume.uuid!, size, ); diff --git a/lib/ui/pages/server_storage/extending_volume.dart b/lib/ui/pages/server_storage/extending_volume.dart index 81414bdb..9c40e9ee 100644 --- a/lib/ui/pages/server_storage/extending_volume.dart +++ b/lib/ui/pages/server_storage/extending_volume.dart @@ -157,7 +157,9 @@ class _ExtendingVolumePageState extends State { : () { context.read().resizeVolume( widget.diskVolumeToResize, - DiskSize.fromGibibyte(_currentSliderGbValue), + DiskSize.fromGibibyte( + _currentSliderGbValue.truncate().toDouble(), + ), context.read().reload, ); context.router.popUntilRoot(); From 043d29538c92d76993b1e98e32f25a46db60fe3f Mon Sep 17 00:00:00 2001 From: NaiJi Date: Sat, 30 Sep 2023 21:35:58 -0300 Subject: [PATCH 2/2] refactor: Conventionally reduce DiskSize to only 'int gb' for resize digital ocean volume --- .../server_providers/digital_ocean/digital_ocean_api.dart | 4 ++-- lib/logic/providers/server_providers/digital_ocean.dart | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart index 319ff062..9ffdb666 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean_api.dart @@ -456,7 +456,7 @@ class DigitalOceanApi extends RestApiMap { Future> resizeVolume( final String uuid, - final DiskSize size, + final int gb, ) async { bool success = false; @@ -467,7 +467,7 @@ class DigitalOceanApi extends RestApiMap { '/volumes/$uuid/actions', data: { 'type': 'resize', - 'size_gigabytes': size.gibibyte.toInt(), + 'size_gigabytes': gb, 'region': region, }, ); diff --git a/lib/logic/providers/server_providers/digital_ocean.dart b/lib/logic/providers/server_providers/digital_ocean.dart index ce444169..6e699723 100644 --- a/lib/logic/providers/server_providers/digital_ocean.dart +++ b/lib/logic/providers/server_providers/digital_ocean.dart @@ -699,7 +699,7 @@ class DigitalOceanServerProvider extends ServerProvider { ) async => _adapter.api().resizeVolume( volume.uuid!, - size, + size.gibibyte.toInt(), ); @override