ajout route pour démarrer une partie kahoot

Springboot
Victor SOULIER 1 year ago
parent ec83e38920
commit b58c6beab0

@ -5,6 +5,7 @@ import fr.iut.sciencequest.sae.controllers.request.PartieAddJoueurRequest;
import fr.iut.sciencequest.sae.controllers.request.PartieRequest; import fr.iut.sciencequest.sae.controllers.request.PartieRequest;
import fr.iut.sciencequest.sae.dto.partie.PartieDTO; import fr.iut.sciencequest.sae.dto.partie.PartieDTO;
import fr.iut.sciencequest.sae.dto.partieKahoot.partie.PartieKahootDTO; import fr.iut.sciencequest.sae.dto.partieKahoot.partie.PartieKahootDTO;
import fr.iut.sciencequest.sae.dto.partieKahoot.partie.PartieKahootStatusDTO;
import fr.iut.sciencequest.sae.entities.*; import fr.iut.sciencequest.sae.entities.*;
import fr.iut.sciencequest.sae.exceptions.partie.PartyAlreadyStartedException; import fr.iut.sciencequest.sae.exceptions.partie.PartyAlreadyStartedException;
import fr.iut.sciencequest.sae.services.*; import fr.iut.sciencequest.sae.services.*;
@ -67,4 +68,16 @@ public class PartieKahootController {
return this.modelMapper.map(this.partieKahootService.update(partie), PartieKahootDTO.class); return this.modelMapper.map(this.partieKahootService.update(partie), PartieKahootDTO.class);
} }
@PostMapping(value = "/{codeInvitation}/demarrer", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.OK)
public PartieKahootStatusDTO demarrerPartie(@PathVariable String codeInvitation){
PartieKahoot partieKahoot = this.partieKahootService.getPartieKahootByIdOrCodeInvitation(codeInvitation);
if(partieKahoot.getStatus() == Status.Started){
throw new PartyAlreadyStartedException();
}
partieKahoot.setStatus(Status.Started);
this.partieKahootService.update(partieKahoot);
return this.modelMapper.map(partieKahoot, PartieKahootStatusDTO.class);
}
} }

@ -0,0 +1,25 @@
package fr.iut.sciencequest.sae.dto.partieKahoot.partie;
import fr.iut.sciencequest.sae.dto.difficulte.DifficulteSimpleDTO;
import fr.iut.sciencequest.sae.dto.jeu.JeuDTO;
import fr.iut.sciencequest.sae.dto.joueur.JoueurSimpleDTO;
import fr.iut.sciencequest.sae.dto.thematique.ThematiqueSimpleDTO;
import fr.iut.sciencequest.sae.entities.Question;
import fr.iut.sciencequest.sae.entities.Status;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.*;
import org.springframework.hateoas.RepresentationModel;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class PartieKahootStatusDTO extends RepresentationModel<PartieKahootStatusDTO> {
@NotNull
private Status status;
}
Loading…
Cancel
Save