Files
pmu-bet-engine/src/main/java/com/pmu/betengine/controller/ReunionController.java
2025-11-19 12:20:37 +00:00

55 lines
1.9 KiB
Java

package com.pmu.betengine.controller;
import com.pmu.betengine.model.dto.ReunionDTO;
import com.pmu.betengine.model.dto.ReunionRequestDTO;
import com.pmu.betengine.service.ReunionService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/v1/reunions")
@Tag(name = "Gestion des Réunions des Courses", description = "Endpoints relatifs à l'objet Reunion")
@CrossOrigin(origins = "*")
public class ReunionController {
private final ReunionService reunionService;
public ReunionController(ReunionService reunionService) {
this.reunionService = reunionService;
}
@GetMapping
public ResponseEntity<List<ReunionDTO>> getAllReunions() {
return ResponseEntity.ok(reunionService.getAllReunions());
}
@GetMapping("/{id}")
public ResponseEntity<ReunionDTO> getReunionById(@PathVariable Long id) {
return ResponseEntity.ok(reunionService.getReunionById(id));
}
@PostMapping
@Operation(summary = "Enregistrer Une réunion",
description = "Méthode permettant d'enregistrer la réunion")
public ResponseEntity<ReunionDTO> createReunion(@Valid @RequestBody ReunionRequestDTO requestDTO) {
return new ResponseEntity<>(reunionService.createReunion(requestDTO), HttpStatus.CREATED);
}
@PutMapping("/{id}")
public ResponseEntity<ReunionDTO> updateReunion(@PathVariable Long id, @Valid @RequestBody ReunionRequestDTO requestDTO) {
return ResponseEntity.ok(reunionService.updateReunion(id, requestDTO));
}
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteReunion(@PathVariable Long id) {
reunionService.deleteReunion(id);
return ResponseEntity.noContent().build();
}
}