diff --git a/src/main/java/com/litoralregas/openvpn/deployment/DeploymentController.java b/src/main/java/com/litoralregas/openvpn/deployment/DeploymentController.java index e17b025..1b346fd 100644 --- a/src/main/java/com/litoralregas/openvpn/deployment/DeploymentController.java +++ b/src/main/java/com/litoralregas/openvpn/deployment/DeploymentController.java @@ -15,7 +15,10 @@ public class DeploymentController { } @GetMapping - public List getAll() { - return repository.findAll(); + public List getAll() { + return repository.findAll() + .stream() + .map(DeploymentResponse::from) + .toList(); } } \ No newline at end of file diff --git a/src/main/java/com/litoralregas/openvpn/deployment/DeploymentResponse.java b/src/main/java/com/litoralregas/openvpn/deployment/DeploymentResponse.java new file mode 100644 index 0000000..d0ecf1e --- /dev/null +++ b/src/main/java/com/litoralregas/openvpn/deployment/DeploymentResponse.java @@ -0,0 +1,32 @@ +package com.litoralregas.openvpn.deployment; + +import java.time.LocalDateTime; +import java.util.UUID; + +public record DeploymentResponse( + UUID id, + UUID routerId, + String routerName, + DeploymentAction action, + DeploymentStatus status, + LocalDateTime startedAt, + LocalDateTime finishedAt, + String stdout, + String stderr, + LocalDateTime createdAt +) { + public static DeploymentResponse from(Deployment deployment) { + return new DeploymentResponse( + deployment.getId(), + deployment.getRouter().getId(), + deployment.getRouter().getName(), + deployment.getAction(), + deployment.getStatus(), + deployment.getStartedAt(), + deployment.getFinishedAt(), + deployment.getStdout(), + deployment.getStderr(), + deployment.getCreatedAt() + ); + } +} \ No newline at end of file