package fr.la_banquise.backend.rest; import fr.la_banquise.backend.data.model.User; import fr.la_banquise.backend.rest.response.DashboardResponse; import fr.la_banquise.backend.services.InstanceService; import fr.la_banquise.backend.services.SujetService; import fr.la_banquise.backend.services.UserService; import io.quarkus.security.Authenticated; 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 SujetService sujetService; @Inject UserService userService; @GET @Authenticated @Path("dashboard") public Response getDashboard() { String username = identity.getPrincipal().getName(); User user = userService.getUser(username); DashboardResponse dashboard = new DashboardResponse(); dashboard.roles = user.getRoles(); dashboard.name = username; dashboard.jiRespo = user.jiRespo; dashboard.jiParticipant = user.jiParticipant; dashboard.sujetRespo = user.sujetRespo; return Response.ok(dashboard).build(); } }