From 69736f89756246471b29e159b82cac3cb0005fbc Mon Sep 17 00:00:00 2001 From: litoral05 Date: Tue, 5 May 2026 10:25:04 +0100 Subject: [PATCH] Add router status update endpoint --- .../openvpn/router/RouterController.java | 8 ++++++++ .../openvpn/router/RouterService.java | 9 +++++++++ .../router/UpdateRouterStatusRequest.java | 17 +++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 src/main/java/com/litoralregas/openvpn/router/UpdateRouterStatusRequest.java diff --git a/src/main/java/com/litoralregas/openvpn/router/RouterController.java b/src/main/java/com/litoralregas/openvpn/router/RouterController.java index 79ecae7..ff2c77a 100644 --- a/src/main/java/com/litoralregas/openvpn/router/RouterController.java +++ b/src/main/java/com/litoralregas/openvpn/router/RouterController.java @@ -30,4 +30,12 @@ public class RouterController { public Router getById(@PathVariable UUID id) { return service.findById(id); } + + @PatchMapping("/{id}/status") + public Router updateStatus( + @PathVariable UUID id, + @Valid @RequestBody UpdateRouterStatusRequest request + ) { + return service.updateStatus(id, request); + } } \ No newline at end of file diff --git a/src/main/java/com/litoralregas/openvpn/router/RouterService.java b/src/main/java/com/litoralregas/openvpn/router/RouterService.java index d8208ba..e1e21f5 100644 --- a/src/main/java/com/litoralregas/openvpn/router/RouterService.java +++ b/src/main/java/com/litoralregas/openvpn/router/RouterService.java @@ -43,4 +43,13 @@ public class RouterService { return repository.findById(id) .orElseThrow(() -> new IllegalArgumentException("Router not found: " + id)); } + + public Router updateStatus(UUID id, UpdateRouterStatusRequest request) { + Router router = findById(id); + + router.setStatus(request.getStatus()); + router.setUpdatedAt(LocalDateTime.now()); + + return repository.save(router); + } } \ No newline at end of file diff --git a/src/main/java/com/litoralregas/openvpn/router/UpdateRouterStatusRequest.java b/src/main/java/com/litoralregas/openvpn/router/UpdateRouterStatusRequest.java new file mode 100644 index 0000000..92fb0c9 --- /dev/null +++ b/src/main/java/com/litoralregas/openvpn/router/UpdateRouterStatusRequest.java @@ -0,0 +1,17 @@ +package com.litoralregas.openvpn.router; + +import jakarta.validation.constraints.NotBlank; + +public class UpdateRouterStatusRequest { + + @NotBlank + private String status; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} \ No newline at end of file