From 741d01bcd200ae68e57412a36860c18957977eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ama=C3=ABl=20Kesteman?= Date: Tue, 6 Jan 2026 10:07:34 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Feat:=20Ajout=20m=C3=A9thode=20sur=20Activi?= =?UTF-8?q?teRessource?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FrisbYEE/jpa/service/ActiviteDAO.java | 3 ++ .../FrisbYEE/rest/ActiviteResource.java | 28 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java index 94d3e0a..1b36e20 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java @@ -3,8 +3,11 @@ package hackathon.FrisbYEE.jpa.service; import hackathon.FrisbYEE.jpa.metier.Activite; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.List; @Repository public interface ActiviteDAO extends JpaRepository { + + List findByTheme(String theme); } diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java index 271b4d7..83a7426 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java @@ -84,7 +84,8 @@ public class ActiviteResource { } - @GetMapping("/read/{id}") + @GetMapping("/{id}") + @PreAuthorize("hasRole('Coach') or hasRole('Athlete')") @ResponseBody public ResponseEntity getActivityById(@PathVariable("id") int id) { try { @@ -104,6 +105,7 @@ public class ActiviteResource { } @GetMapping("/all") + @PreAuthorize("hasRole('Coach') or hasRole('Athlete')") @ResponseBody public ResponseEntity> getAllActivity() { try { @@ -124,4 +126,28 @@ public class ActiviteResource { } } + + @GetMapping("/theme/{theme}") + @PreAuthorize("hasRole('Coach') or hasRole('Athlete')") + @ResponseBody + public ResponseEntity> getActivityByTheme(@PathVariable("theme") String theme) { + try { + List activites = activiteDAO.findByTheme(theme); + List dtos = activites.stream().map(activite -> { + ActiviteDTO dto = new ActiviteDTO(); + dto.setName(activite.getName()); + dto.setId(activite.getId()); + dto.setTheme(activite.getTheme()); + dto.setDuree(activite.getDuree()); + dto.setDataActivite(activite.getDataActivite()); + dto.setSessionId(activite.getSession() != null ? activite.getSession().getId() : null); + return dto; + }).collect(Collectors.toList()); + return ResponseEntity.ok(dtos); + } catch (Exception ex) { + return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null); + } + + } + } From 5e5661635eae8942ab859faafc62531decea5de3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ama=C3=ABl=20Kesteman?= Date: Tue, 6 Jan 2026 10:17:04 +0100 Subject: [PATCH 2/2] Feat: Ajout des imports manquants pour Athlete DTO + Athlete --- .../src/main/java/hackathon/FrisbYEE/jpa/dto/AthleteDTO.java | 2 ++ .../src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/dto/AthleteDTO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/dto/AthleteDTO.java index 6820a44..d950475 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/dto/AthleteDTO.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/dto/AthleteDTO.java @@ -1,6 +1,8 @@ package hackathon.FrisbYEE.jpa.dto; import lombok.Data; + +import java.util.ArrayList; import java.util.List; @Data diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java index bec731d..fb7d318 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java @@ -4,9 +4,8 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import jakarta.persistence.ManyToMany; import jakarta.persistence.OneToOne; -import lombok.Getter; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Setter; import java.util.ArrayList; import java.util.List; import jakarta.persistence.Access;