ajout getQuestion pour PartieKahoot

Springboot
Victor SOULIER 1 year ago
parent 0391f7c75f
commit 1a0382e9d0

@ -3,9 +3,11 @@ package fr.iut.sciencequest.sae.controllers;
import fr.iut.sciencequest.sae.controllers.request.PartieAddJoueurRequest;
import fr.iut.sciencequest.sae.controllers.request.PartieRequest;
import fr.iut.sciencequest.sae.dto.partieKahoot.PartieKahootDTO;
import fr.iut.sciencequest.sae.dto.partieKahoot.PartieKahootQuestionDTO;
import fr.iut.sciencequest.sae.dto.partieKahoot.PartieKahootStatusDTO;
import fr.iut.sciencequest.sae.entities.*;
import fr.iut.sciencequest.sae.exceptions.partie.PartyAlreadyStartedException;
import fr.iut.sciencequest.sae.exceptions.partie.PartyNotStartedException;
import fr.iut.sciencequest.sae.repositories.QuestionPartieKahootRepository;
import fr.iut.sciencequest.sae.repositories.ScorePartieKahootJoueurRepository;
import fr.iut.sciencequest.sae.services.*;
@ -113,4 +115,14 @@ public class PartieKahootController {
return this.modelMapper.map(partieKahoot, PartieKahootStatusDTO.class);
}
@GetMapping(value = "/{codeInvitation}/question", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.OK)
public PartieKahootQuestionDTO getQuestionActuel(@PathVariable String codeInvitation){
PartieKahoot partieKahoot = this.partieKahootService.getPartieKahootByIdOrCodeInvitation(codeInvitation);
if(partieKahoot.getStatus() != Status.Started){
throw new PartyNotStartedException();
}
return this.modelMapper.map(partieKahoot, PartieKahootQuestionDTO.class);
}
}

@ -0,0 +1,24 @@
package fr.iut.sciencequest.sae.dto.partieKahoot;
import fr.iut.sciencequest.sae.dto.question.QuestionDTO;
import fr.iut.sciencequest.sae.dto.reponse.ReponseSimpleDTO;
import fr.iut.sciencequest.sae.dto.scorePartieJoueur.ScorePartieKahootJoueurDTO;
import fr.iut.sciencequest.sae.entities.Reponse;
import fr.iut.sciencequest.sae.entities.Status;
import jakarta.validation.constraints.NotNull;
import lombok.*;
import org.springframework.hateoas.RepresentationModel;
import java.util.Calendar;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class PartieKahootQuestionDTO extends RepresentationModel<PartieKahootQuestionDTO> {
private QuestionDTO questionActuel;
private Calendar tempsLimiteReponse;
}

@ -8,6 +8,7 @@ import jakarta.validation.constraints.NotNull;
import lombok.*;
import org.springframework.hateoas.RepresentationModel;
import java.util.List;
@Data
@ -23,5 +24,5 @@ public class QuestionDTO extends RepresentationModel<QuestionDTO> {
private String question;
@NotEmpty
private Iterable<ReponseSimpleDTO> reponses;
private List<ReponseSimpleDTO> reponses;
}

@ -0,0 +1,12 @@
package fr.iut.sciencequest.sae.exceptions.partie;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(HttpStatus.FORBIDDEN)
public class PartyNotStartedException extends RuntimeException {
public PartyNotStartedException() {
super("Party not started");
}
}
Loading…
Cancel
Save