diff --git a/src/main/java/back/activitymanager/repository/ActivityRepository.java b/src/main/java/back/activitymanager/repository/ActivityRepository.java index 0a16aee..54ed4d7 100644 --- a/src/main/java/back/activitymanager/repository/ActivityRepository.java +++ b/src/main/java/back/activitymanager/repository/ActivityRepository.java @@ -8,22 +8,23 @@ import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; public interface ActivityRepository extends JpaRepository { boolean existsByAuthor(User principal); @EntityGraph(attributePaths = {"participants", "author"}) - @Query("SELECT a FROM Activity a WHERE a.isDeleted = false " - + "AND a.localDateTime > current_timestamp") Optional findById(Long id); + @Query("SELECT a FROM Activity a JOIN a.author author " + + "WHERE a.isDeleted = false AND a.localDateTime > current_timestamp " + + "AND author.email = :email") @EntityGraph(attributePaths = {"participants", "author"}) - @Query("SELECT a FROM Activity a WHERE a.isDeleted = false " - + "AND a.localDateTime > current_timestamp") - Page findByAuthorEmail(Pageable pageable, String email); + Page findByAuthorEmail(Pageable pageable, @Param("email") String email); + @Query("SELECT a FROM Activity a JOIN a.participants p " + + "WHERE a.isDeleted = false AND a.localDateTime > current_timestamp " + + "AND p.email = :email") @EntityGraph(attributePaths = {"participants", "author"}) - @Query("SELECT a FROM Activity a WHERE a.isDeleted = false " - + "AND a.localDateTime > current_timestamp") - Page findByParticipantsEmail(Pageable pageable, String name); + Page findByParticipantsEmail(Pageable pageable, @Param("email") String email); } diff --git a/src/main/java/back/activitymanager/service/impl/ActivityServiceImpl.java b/src/main/java/back/activitymanager/service/impl/ActivityServiceImpl.java index c82aa38..e27bab8 100644 --- a/src/main/java/back/activitymanager/service/impl/ActivityServiceImpl.java +++ b/src/main/java/back/activitymanager/service/impl/ActivityServiceImpl.java @@ -44,6 +44,7 @@ public Page getAll(Pageable pageable) { @Override public ActivityDto getById(Long id) { + return activityMapper.toDto(activityRepository .findById(id) .orElseThrow(