From d79f4f4b8ff7508f38903d9cce2ccbdb56f5f94c Mon Sep 17 00:00:00 2001 From: tuanvu Date: Thu, 2 Oct 2025 14:39:53 +0200 Subject: [PATCH] push quizz --- README.md | 24 ++++++++++++++----- .../istic/taa/jaxrs/rest/QuizzResource.java | 24 ++++++++++++++++--- .../istic/taa/jaxrs/rest/SessionResource.java | 12 +++++++++- .../taa/jaxrs/rest/UtilisateurResource.java | 17 +------------ 4 files changed, 51 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 9ce86b8..ef9410b 100644 --- a/README.md +++ b/README.md @@ -14,15 +14,27 @@ | GET | `/utilisateur/{id}` | Retourne l'utilisateur par id | | GET | `/utilisateur/{user_id}/session` | Retoune la liste de session que l'utilisateur attends | | PUT | `/utilisateur/{user_id}/add_session/{session_id}` | Ajoute un nouveau session à la liste de l'utilisateur | -| DELETE | `{user_id}/delete` | Supprime utilisateur | +| DELETE | `{user_id}/delete` | Supprime l'utilisateur | #### Session Resource -| Methode | URL | Description | -|---------|--------------------------|------------------------------------| -| GET | `/session` | Retourne toute la liste du session | -| GET | `/session/{id}` | Retourne la session par id | -| GET | `/{session_id}/quizzs` | Retourne la liste de quizzs | +| Methode | URL | Description | +|----------|------------------------------|------------------------------------| +| GET | `/session` | Retourne toute la liste du session | +| GET | `/session/{id}` | Retourne la session par id | +| GET | `/{session_id}/quizzs` | Retourne la liste de quizzs | +| GET | `/{session_id}/utilisateurs` | Retourne la liste de l'utilisateur | +| DELETE | `/{session_id}/delete` | Supprime la session | +#### Quizz Resource +| Methode | URL | Description | +|----------|----------|----------------------------------| +| GET | `/quizz` | Retourne toute la liste du quizz | + + +#### Question Resource +| Methode | URL | Description | +|----------|-------------|-------------------------------------| +| GET | `/question` | Retourne toute la liste du question | ## Auteurs diff --git a/src/main/java/fr/istic/taa/jaxrs/rest/QuizzResource.java b/src/main/java/fr/istic/taa/jaxrs/rest/QuizzResource.java index d0f292e..ebd7263 100644 --- a/src/main/java/fr/istic/taa/jaxrs/rest/QuizzResource.java +++ b/src/main/java/fr/istic/taa/jaxrs/rest/QuizzResource.java @@ -1,11 +1,29 @@ package fr.istic.taa.jaxrs.rest; -import jakarta.ws.rs.Consumes; -import jakarta.ws.rs.Path; -import jakarta.ws.rs.Produces; +import fr.istic.taa.jaxrs.DAO.QuizzDAO; +import fr.istic.taa.jaxrs.DTO.QuizzDTO; +import fr.istic.taa.jaxrs.Mapper.QuizzMapper; +import fr.istic.taa.jaxrs.metier.Quizz; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.Response; @Path("quizz") @Consumes({"application/json", "application/xml"}) @Produces({"application/json", "application/xml"}) public class QuizzResource { + public final QuizzMapper mapper = QuizzMapper.INSTANCE; + public final QuizzDAO quizzDAO= new QuizzDAO(); + + @GET + @Path("/{quizz_id}") + public Response getQuizzById(@PathParam("quizz_id") Integer quizzId) { + Quizz quizz = quizzDAO.findById(quizzId); + if (quizz == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + QuizzDTO dto = mapper.toDTO(quizz); + return Response.status(Response.Status.OK).entity(dto).build(); + } + + @ } diff --git a/src/main/java/fr/istic/taa/jaxrs/rest/SessionResource.java b/src/main/java/fr/istic/taa/jaxrs/rest/SessionResource.java index 7f98afb..2691cb7 100644 --- a/src/main/java/fr/istic/taa/jaxrs/rest/SessionResource.java +++ b/src/main/java/fr/istic/taa/jaxrs/rest/SessionResource.java @@ -13,7 +13,6 @@ import fr.istic.taa.jaxrs.metier.Utilisateur; import jakarta.ws.rs.*; import jakarta.ws.rs.core.Response; -import java.util.Collections; import java.util.List; @Path("session") @@ -62,4 +61,15 @@ public class SessionResource { List dtos= UtilisateurMapper.INSTANCE.toDTOs(utilisateurList); return Response.status(Response.Status.OK).entity(dtos).build(); } + + @DELETE + @Path("/{session_id}/delete") + public Response deleteSession(@PathParam("session_id") Integer sessionId) { + Session session = sessionDAO.findById(sessionId); + if (session == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + sessionDAO.delete(session); + return Response.status(Response.Status.OK).entity("Réussi de supprimer").build(); + } } diff --git a/src/main/java/fr/istic/taa/jaxrs/rest/UtilisateurResource.java b/src/main/java/fr/istic/taa/jaxrs/rest/UtilisateurResource.java index 076b1c1..6343af6 100644 --- a/src/main/java/fr/istic/taa/jaxrs/rest/UtilisateurResource.java +++ b/src/main/java/fr/istic/taa/jaxrs/rest/UtilisateurResource.java @@ -9,11 +9,8 @@ import fr.istic.taa.jaxrs.Mapper.UtilisateurMapper; import fr.istic.taa.jaxrs.metier.Session; import fr.istic.taa.jaxrs.metier.Utilisateur; import jakarta.ws.rs.*; -import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.Response; -import org.mapstruct.factory.Mappers; -import java.util.Collections; import java.util.List; @Path("utilisateur") @@ -28,18 +25,6 @@ public class UtilisateurResource { return utilisateurs; } - /* - @POST - public Response createUtilisateur(UtilisateurDTO dto) { - Utilisateur utilisateur = mapper.toEntity(dto); - utilisateurDAO.create(utilisateur); - - UtilisateurDTO result = mapper.toDTO(utilisateur); - return Response.status(Response.Status.CREATED).entity(result).build(); - - } - */ - @POST @Path("/register") public Response registerUtilisateur(UtilisateurDTO dto) { @@ -98,7 +83,7 @@ public class UtilisateurResource { if (utilisateur.getSession().contains(existingSession)) { return Response.status(Response.Status.CONFLICT).build(); } - utilisateur.getSession().add(existingSession); + utilisateurDAO.addToSession(user_id, session_id); utilisateurDAO.update(utilisateur); // We update it so have to return new DTO