push quizz
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package fr.istic.taa.jaxrs.DAO;
|
||||
|
||||
import fr.istic.taa.jaxrs.metier.Question;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
import fr.istic.taa.jaxrs.metier.Quizz;
|
||||
|
||||
@@ -9,8 +10,23 @@ public class QuizzDAO extends AbstractJpaDao<Integer, Quizz> {
|
||||
this.setClass(Quizz.class);
|
||||
}
|
||||
|
||||
public void deleteAllQuiz(){
|
||||
public void deleteAllQustion(int quizz_id){
|
||||
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);
|
||||
|
||||
List<QuestionDTO> toDTOs(List<Question> questionList);
|
||||
|
||||
default List<String> question_ReponseString(Reponse reponse){
|
||||
return reponse.getReponses();
|
||||
}
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
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.DTO.QuestionDTO;
|
||||
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.metier.Question;
|
||||
import fr.istic.taa.jaxrs.metier.Quizz;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@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();
|
||||
public final QuestionDAO questionDAO = new QuestionDAO();
|
||||
|
||||
@GET
|
||||
@Path("/{quizz_id}")
|
||||
@@ -25,5 +32,42 @@ public class QuizzResource {
|
||||
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