push quizz
This commit is contained in:
28
README.md
28
README.md
@@ -10,25 +10,29 @@
|
|||||||
|---------|---------------------------------------------------|-------------------------------------------------------|
|
|---------|---------------------------------------------------|-------------------------------------------------------|
|
||||||
| GET | `/utilisateur` | Retourne toute la liste de l'utilisateur |
|
| GET | `/utilisateur` | Retourne toute la liste de l'utilisateur |
|
||||||
| POST | `/utilisateur/register` | S'incrire nouveaux utilisateur |
|
| POST | `/utilisateur/register` | S'incrire nouveaux utilisateur |
|
||||||
| POST | `/utilisateur/login` | Se connecter |
|
| GET | `/utilisateur/login` | Se connecter |
|
||||||
| GET | `/utilisateur/{id}` | Retourne l'utilisateur par id |
|
| GET | `/utilisateur/{id}` | Retourne l'utilisateur par id |
|
||||||
| GET | `/utilisateur/{user_id}/session` | Retoune la liste de session que l'utilisateur attends |
|
| 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 |
|
| PUT | `/utilisateur/{user_id}/add_session/{session_id}` | Ajoute un nouveau session à la liste de l'utilisateur |
|
||||||
| DELETE | `{user_id}/delete` | Supprime l'utilisateur |
|
| DELETE | `/utilisteur/{user_id}/delete` | Supprime l'utilisateur |
|
||||||
|
|
||||||
#### Session Resource
|
#### Session Resource
|
||||||
| Methode | URL | Description |
|
| Methode | URL | Description |
|
||||||
|----------|------------------------------|------------------------------------|
|
|---------|--------------------------------------|------------------------------------|
|
||||||
| GET | `/session` | Retourne toute la liste du session |
|
| GET | `/session` | Retourne toute la liste du session |
|
||||||
| GET | `/session/{id}` | Retourne la session par id |
|
| GET | `/session/{id}` | Retourne la session par id |
|
||||||
| GET | `/{session_id}/quizzs` | Retourne la liste de quizzs |
|
| GET | `/session/{session_id}/quizzs` | Retourne la liste de quizzs |
|
||||||
| GET | `/{session_id}/utilisateurs` | Retourne la liste de l'utilisateur |
|
| GET | `/session/{session_id}/utilisateurs` | Retourne la liste de l'utilisateur |
|
||||||
| DELETE | `/{session_id}/delete` | Supprime la session |
|
| DELETE | `/session/{session_id}/delete` | Supprime la session |
|
||||||
|
|
||||||
#### Quizz Resource
|
#### Quizz Resource
|
||||||
| Methode | URL | Description |
|
| Methode | URL | Description |
|
||||||
|----------|----------|----------------------------------|
|
|---------|------------------------------------------------|----------------------------------------|
|
||||||
| GET | `/quizz` | Retourne toute la liste du quizz |
|
| GET | `/quizz` | Retourne toute la liste du quizz |
|
||||||
|
| GET | `/quizz/{quizz_id}/add_question/{question_id}` | Ajoute une nouvuelle question au quizz |
|
||||||
|
| DELETE | `/quizz/{quizz_id}/delete` | Suprrime le quizz |
|
||||||
|
| PUT | `/quizz/{quizz_id}/deleteQ` | Supprime toute les questions de quizz |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Question Resource
|
#### Question Resource
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package fr.istic.taa.jaxrs.DAO;
|
package fr.istic.taa.jaxrs.DAO;
|
||||||
|
|
||||||
|
import fr.istic.taa.jaxrs.metier.Question;
|
||||||
import jakarta.persistence.EntityTransaction;
|
import jakarta.persistence.EntityTransaction;
|
||||||
import fr.istic.taa.jaxrs.metier.Quizz;
|
import fr.istic.taa.jaxrs.metier.Quizz;
|
||||||
|
|
||||||
@@ -9,8 +10,23 @@ public class QuizzDAO extends AbstractJpaDao<Integer, Quizz> {
|
|||||||
this.setClass(Quizz.class);
|
this.setClass(Quizz.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteAllQuiz(){
|
public void deleteAllQustion(int quizz_id){
|
||||||
EntityTransaction et= em.getTransaction();
|
EntityTransaction et= em.getTransaction();
|
||||||
em.createQuery("delete from Quizz").executeUpdate();
|
et.begin();
|
||||||
|
Quizz quizz = em.find(Quizz.class, quizz_id);
|
||||||
|
quizz.getQuestions().clear();
|
||||||
|
em.merge(quizz);
|
||||||
|
et.commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addQuestion(int quizz_id, int question_id){
|
||||||
|
EntityTransaction et= em.getTransaction();
|
||||||
|
et.begin();
|
||||||
|
Quizz quizz = em.find(Quizz.class, quizz_id);
|
||||||
|
Question question =em.find(Question.class, question_id);
|
||||||
|
|
||||||
|
quizz.getQuestions().add(question);
|
||||||
|
em.merge(quizz);
|
||||||
|
et.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ public interface QuestionMapper {
|
|||||||
|
|
||||||
Question toEntity(QuestionDTO questionDTO);
|
Question toEntity(QuestionDTO questionDTO);
|
||||||
|
|
||||||
|
List<QuestionDTO> toDTOs(List<Question> questionList);
|
||||||
|
|
||||||
default List<String> question_ReponseString(Reponse reponse){
|
default List<String> question_ReponseString(Reponse reponse){
|
||||||
return reponse.getReponses();
|
return reponse.getReponses();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,25 @@
|
|||||||
package fr.istic.taa.jaxrs.rest;
|
package fr.istic.taa.jaxrs.rest;
|
||||||
|
|
||||||
|
import fr.istic.taa.jaxrs.DAO.QuestionDAO;
|
||||||
import fr.istic.taa.jaxrs.DAO.QuizzDAO;
|
import fr.istic.taa.jaxrs.DAO.QuizzDAO;
|
||||||
|
import fr.istic.taa.jaxrs.DTO.QuestionDTO;
|
||||||
import fr.istic.taa.jaxrs.DTO.QuizzDTO;
|
import fr.istic.taa.jaxrs.DTO.QuizzDTO;
|
||||||
|
import fr.istic.taa.jaxrs.Mapper.QuestionMapper;
|
||||||
import fr.istic.taa.jaxrs.Mapper.QuizzMapper;
|
import fr.istic.taa.jaxrs.Mapper.QuizzMapper;
|
||||||
|
import fr.istic.taa.jaxrs.metier.Question;
|
||||||
import fr.istic.taa.jaxrs.metier.Quizz;
|
import fr.istic.taa.jaxrs.metier.Quizz;
|
||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
import jakarta.ws.rs.core.Response;
|
import jakarta.ws.rs.core.Response;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Path("quizz")
|
@Path("quizz")
|
||||||
@Consumes({"application/json", "application/xml"})
|
@Consumes({"application/json", "application/xml"})
|
||||||
@Produces({"application/json", "application/xml"})
|
@Produces({"application/json", "application/xml"})
|
||||||
public class QuizzResource {
|
public class QuizzResource {
|
||||||
public final QuizzMapper mapper = QuizzMapper.INSTANCE;
|
public final QuizzMapper mapper = QuizzMapper.INSTANCE;
|
||||||
public final QuizzDAO quizzDAO= new QuizzDAO();
|
public final QuizzDAO quizzDAO= new QuizzDAO();
|
||||||
|
public final QuestionDAO questionDAO = new QuestionDAO();
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{quizz_id}")
|
@Path("/{quizz_id}")
|
||||||
@@ -25,5 +32,42 @@ public class QuizzResource {
|
|||||||
return Response.status(Response.Status.OK).entity(dto).build();
|
return Response.status(Response.Status.OK).entity(dto).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@
|
@GET
|
||||||
|
@Path("/{quizz_id}/questions")
|
||||||
|
public Response getQuestions(@PathParam("quizz_id") Integer quizzId) {
|
||||||
|
Quizz quizz = quizzDAO.findById(quizzId);
|
||||||
|
if (quizz == null) {
|
||||||
|
return Response.status(Response.Status.NOT_FOUND).build();
|
||||||
|
}
|
||||||
|
List<Question> questionList= quizz.getQuestions();
|
||||||
|
List<QuestionDTO> dtos = QuestionMapper.INSTANCE.toDTOs(questionList);
|
||||||
|
|
||||||
|
return Response.status(Response.Status.OK).entity(dtos).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PUT
|
||||||
|
@Path("/{quizz_id}/add_question/{question_id}")
|
||||||
|
public Response addQuestion(@PathParam("quizz_id") Integer quizzId, @PathParam("question_id") Integer questionId) {
|
||||||
|
Quizz quizz = quizzDAO.findById(quizzId);
|
||||||
|
Question question = questionDAO.findById(questionId);
|
||||||
|
if (quizz == null || question == null) {
|
||||||
|
return Response.status(Response.Status.NOT_FOUND).build();
|
||||||
|
}
|
||||||
|
quizzDAO.addQuestion(quizzId,questionId);
|
||||||
|
quizzDAO.update(quizz);
|
||||||
|
QuizzDTO quizzDTO = mapper.toDTO(quizz);
|
||||||
|
return Response.status(Response.Status.OK).entity(quizzDTO).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PUT
|
||||||
|
@Path("/{quizz_id}/deleteQ")
|
||||||
|
public Response deleteQuestion(@PathParam("quizz_id") Integer quizzId) {
|
||||||
|
Quizz quizz = quizzDAO.findById(quizzId);
|
||||||
|
if (quizz == null) {
|
||||||
|
return Response.status(Response.Status.NOT_FOUND).build();
|
||||||
|
}
|
||||||
|
quizzDAO.deleteAllQustion(quizzId);
|
||||||
|
quizzDAO.update(quizz);
|
||||||
|
return Response.status(Response.Status.OK).build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user