From c9305ff66543d71fb0e122562af42f551eb7648b Mon Sep 17 00:00:00 2001 From: litoral05 Date: Tue, 5 May 2026 11:44:23 +0100 Subject: [PATCH] Add REMOVING router status and update transitions --- .../openvpn/router/RouterController.java | 2 +- .../openvpn/router/RouterService.java | 15 ++++++++++++--- .../litoralregas/openvpn/router/RouterStatus.java | 1 + 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/litoralregas/openvpn/router/RouterController.java b/src/main/java/com/litoralregas/openvpn/router/RouterController.java index 6930d52..85cf988 100644 --- a/src/main/java/com/litoralregas/openvpn/router/RouterController.java +++ b/src/main/java/com/litoralregas/openvpn/router/RouterController.java @@ -74,7 +74,7 @@ public class RouterController { result.stdout() ); - service.forceStatus(id, RouterStatus.PROVISIONED); + service.forceStatus(id, RouterStatus.REMOVING); return DeploymentResponse.from(finishedDeployment); } catch (Exception exception) { diff --git a/src/main/java/com/litoralregas/openvpn/router/RouterService.java b/src/main/java/com/litoralregas/openvpn/router/RouterService.java index 36d349d..6741e3c 100644 --- a/src/main/java/com/litoralregas/openvpn/router/RouterService.java +++ b/src/main/java/com/litoralregas/openvpn/router/RouterService.java @@ -69,9 +69,18 @@ public class RouterService { private boolean isValidTransition(RouterStatus current, RouterStatus next) { return switch (current) { - case PENDING, FAILED -> next == RouterStatus.PROVISIONING || next == RouterStatus.REMOVED; - case PROVISIONING -> next == RouterStatus.PROVISIONED || next == RouterStatus.FAILED; - case PROVISIONED -> next == RouterStatus.REMOVED; + case PENDING, FAILED -> + next == RouterStatus.PROVISIONING || next == RouterStatus.REMOVING; + + case PROVISIONING -> + next == RouterStatus.PROVISIONED || next == RouterStatus.FAILED; + + case PROVISIONED -> + next == RouterStatus.REMOVING; + + case REMOVING -> + next == RouterStatus.REMOVED || next == RouterStatus.FAILED; + case REMOVED -> false; }; } diff --git a/src/main/java/com/litoralregas/openvpn/router/RouterStatus.java b/src/main/java/com/litoralregas/openvpn/router/RouterStatus.java index 8e465e9..db74975 100644 --- a/src/main/java/com/litoralregas/openvpn/router/RouterStatus.java +++ b/src/main/java/com/litoralregas/openvpn/router/RouterStatus.java @@ -5,5 +5,6 @@ public enum RouterStatus { PROVISIONING, PROVISIONED, FAILED, + REMOVING, REMOVED } \ No newline at end of file