gestion des groupe, todo : rejoindre une session
This commit is contained in:
@@ -77,6 +77,36 @@ public class AthleteResource {
|
||||
return ResponseEntity.ok(dtos);
|
||||
}
|
||||
|
||||
@Operation(summary = "Récupère tous les athlètes d'un groupe")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "200", description = "Récupère tous les athlètes", content = @Content(mediaType = "application/json", schema = @Schema(implementation = List.class)))
|
||||
})
|
||||
@GetMapping("/all/group/{groupe}")
|
||||
@PreAuthorize("hasRole('admin') or hasRole('coach')")
|
||||
public ResponseEntity<List<AthleteDTO>> allByGroup(@PathVariable String groupe) {
|
||||
List<Athlete> athletes = athleteDAO.findAll();
|
||||
List<AthleteDTO> dtos = new ArrayList<>();
|
||||
|
||||
for (Athlete athlete : athletes) {
|
||||
if(groupe.equals("None")){
|
||||
|
||||
if(athlete.getGroupe().size()==0){
|
||||
dtos.add(mapToDTO(athlete));
|
||||
}
|
||||
}
|
||||
else{
|
||||
boolean containsGroupe = false;
|
||||
for (String g : athlete.getGroupe()) {
|
||||
containsGroupe = containsGroupe || g.equals(groupe);
|
||||
}
|
||||
if(containsGroupe){
|
||||
dtos.add(mapToDTO(athlete));
|
||||
}
|
||||
}
|
||||
}
|
||||
return ResponseEntity.ok(dtos);
|
||||
}
|
||||
|
||||
@Operation(summary = "Récupère l'athlète ayant l'identifiant correspondant")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "200", description = "Récupération effectuée", content = @Content(mediaType = "application/json", schema = @Schema(implementation = AthleteDTO.class)))
|
||||
@@ -151,6 +181,7 @@ public class AthleteResource {
|
||||
dto.setPrenom(athlete.getPrenom());
|
||||
dto.setCategorie(athlete.getCategorie());
|
||||
dto.setNiveau(athlete.getNiveau());
|
||||
dto.setGroupes(athlete.getGroupe());
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
||||
@@ -76,6 +76,23 @@ public class SessionResource {
|
||||
return ResponseEntity.ok(dtos);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/all/group/{groupe}")
|
||||
@PreAuthorize("hasRole('admin') or hasRole('coach') or hasRole('athlete')")
|
||||
public ResponseEntity<List<SessionDTO>> getAllByGroup(@PathVariable String groupe) {
|
||||
List<Session> sessions = sessionDAO.findAll();
|
||||
List<SessionDTO> dtos = new ArrayList<>();
|
||||
String groupeStr = groupe;
|
||||
if(groupe.equals("None")) groupeStr = "";
|
||||
for (Session session : sessions) {
|
||||
if(session.getGroupe().equals(groupeStr)){
|
||||
dtos.add(maptoDTO(session));
|
||||
}
|
||||
}
|
||||
return ResponseEntity.ok(dtos);
|
||||
}
|
||||
|
||||
@GetMapping("/all-between-dates")
|
||||
@PreAuthorize("hasRole('admin') or hasRole('coach') or hasRole('athlete')")
|
||||
public ResponseEntity<List<SessionDTO>> getAllBetweenDates(
|
||||
@@ -100,6 +117,31 @@ public class SessionResource {
|
||||
return ResponseEntity.ok(dtos);
|
||||
}
|
||||
|
||||
@GetMapping("/all-between-dates/group/{groupe}")
|
||||
@PreAuthorize("hasRole('admin') or hasRole('coach') or hasRole('athlete')")
|
||||
public ResponseEntity<List<SessionDTO>> getAllBetweenDates(@RequestParam LocalDate startDate,@RequestParam LocalDate endDate,@PathVariable String groupe) {
|
||||
List<Session> sessions = sessionDAO.findAll();
|
||||
List<SessionDTO> dtos = new ArrayList<>();
|
||||
System.out.println("date : " + startDate + " " + endDate);
|
||||
String groupeStr = groupe;
|
||||
if(groupe.equals("None")) groupeStr = "";
|
||||
for (Session session : sessions) {
|
||||
if(session.getGroupe().equals(groupeStr)){
|
||||
LocalDate sessionDate = session.getCreneau().toLocalDate();
|
||||
|
||||
boolean isBetween =
|
||||
(!sessionDate.isBefore(startDate) || session.getIsRecurrent()) &&
|
||||
!sessionDate.isAfter(endDate);
|
||||
|
||||
if (isBetween) {
|
||||
dtos.add(maptoDTO(session));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ResponseEntity.ok(dtos);
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
@PreAuthorize("hasRole('coach') or hasRole('athlete')")
|
||||
public ResponseEntity<?> getById(@PathVariable Integer id) {
|
||||
|
||||
Reference in New Issue
Block a user