From ec8a0db1bea9ca2e189c09a4d3eb554a4f60fc7c Mon Sep 17 00:00:00 2001 From: Malopieds Date: Thu, 17 Oct 2024 22:18:00 +0200 Subject: [PATCH] feat: dashboard --- .../la_banquise/backend/rest/Endpoints.java | 36 +++++++++++++++++++ .../backend/rest/request/InstanceRequest.java | 2 +- .../rest/response/DashboardResponse.java | 14 ++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/main/java/fr/la_banquise/backend/rest/Endpoints.java create mode 100644 src/main/java/fr/la_banquise/backend/rest/response/DashboardResponse.java diff --git a/src/main/java/fr/la_banquise/backend/rest/Endpoints.java b/src/main/java/fr/la_banquise/backend/rest/Endpoints.java new file mode 100644 index 0000000..2f34ed3 --- /dev/null +++ b/src/main/java/fr/la_banquise/backend/rest/Endpoints.java @@ -0,0 +1,36 @@ +package fr.la_banquise.backend.rest; + +import fr.la_banquise.backend.rest.response.DashboardResponse; +import fr.la_banquise.backend.services.InstanceService; +import fr.la_banquise.backend.services.TpService; +import io.quarkus.security.identity.SecurityIdentity; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; + +/** + * Endpoints + */ +@Path("api") +public class Endpoints { + + @Inject + SecurityIdentity identity; + + @Inject + InstanceService instanceService; + + @Inject + TpService tpService; + + @GET + @Path("dashboard") + public Response getDashboard() { + String username = identity.getPrincipal().getName(); + DashboardResponse dashboard = new DashboardResponse(); + dashboard.tps = tpService.getAllTps(); + dashboard.instances = instanceService.getAllInstances(username); + return Response.ok(dashboard).build(); + } +} diff --git a/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java b/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java index ec95f0c..526c1d1 100644 --- a/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java +++ b/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java @@ -11,5 +11,5 @@ public class InstanceRequest { public String pwd; public String username; @Nullable - public int tpId; + public Long tpId; } diff --git a/src/main/java/fr/la_banquise/backend/rest/response/DashboardResponse.java b/src/main/java/fr/la_banquise/backend/rest/response/DashboardResponse.java new file mode 100644 index 0000000..882f42e --- /dev/null +++ b/src/main/java/fr/la_banquise/backend/rest/response/DashboardResponse.java @@ -0,0 +1,14 @@ +package fr.la_banquise.backend.rest.response; + +import java.util.List; + +import fr.la_banquise.backend.data.model.Instance; +import fr.la_banquise.backend.data.model.Tp; + +/** + * DashboardResponse + */ +public class DashboardResponse { + public List tps; + public List instances; +}