push quizz

This commit is contained in:
tuanvu
2025-10-02 14:39:53 +02:00
parent 27aff73824
commit d79f4f4b8f
4 changed files with 51 additions and 26 deletions

View File

@@ -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

View File

@@ -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();
}
@
}

View File

@@ -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<UtilisateurDTO> 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();
}
}

View File

@@ -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