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