55 lines
1.9 KiB
Java
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();
|
|
}
|
|
}
|