View Javadoc
1   package org.petify.backend.repository;
2   
3   import org.petify.backend.models.ApplicationUser;
4   import org.petify.backend.models.UserAchievement;
5   
6   import org.springframework.data.jpa.repository.JpaRepository;
7   import org.springframework.data.jpa.repository.Query;
8   import org.springframework.data.repository.query.Param;
9   import org.springframework.stereotype.Repository;
10  
11  import java.util.List;
12  import java.util.Optional;
13  
14  @Repository
15  public interface UserAchievementRepository extends JpaRepository<UserAchievement, Long> {
16      @Query("SELECT ua FROM UserAchievement ua JOIN FETCH ua.achievement WHERE ua.user = :user")
17      List<UserAchievement> findByUser(@Param("user") ApplicationUser user);
18  
19      List<UserAchievement> findByUserAndCompleted(ApplicationUser user, Boolean completed);
20  
21      Optional<UserAchievement> findByUserAndAchievementId(ApplicationUser user, Long achievementId);
22  }