Interface PermissionRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<Permission,UUID>, org.springframework.data.jpa.repository.JpaRepository<Permission,UUID>, org.springframework.data.repository.ListCrudRepository<Permission,UUID>, org.springframework.data.repository.ListPagingAndSortingRepository<Permission,UUID>, org.springframework.data.repository.PagingAndSortingRepository<Permission,UUID>, org.springframework.data.repository.query.QueryByExampleExecutor<Permission>, org.springframework.data.repository.Repository<Permission,UUID>

public interface PermissionRepository extends org.springframework.data.jpa.repository.JpaRepository<Permission,UUID>
  • Method Details

    • findByUserIdOrderByGrantTimeDesc

      List<Permission> findByUserIdOrderByGrantTimeDesc(UUID userId)
    • findByStatusIn

      List<Permission> findByStatusIn(Set<PermissionStatus> statuses)
    • findOutboundByDataSourceIdAndStatus

      @Query("SELECT p\nFROM Permission p\nWHERE p.dataSource.id = :dataSourceId\n AND p.dataNeed.type = energy.eddie.dataneeds.needs.aiida.OutboundAiidaDataNeed.DISCRIMINATOR_VALUE\n AND p.status IN (:statuses)\n") List<Permission> findOutboundByDataSourceIdAndStatus(UUID dataSourceId, Set<PermissionStatus> statuses)
    • findInboundByUserIdAndStatus

      @Query("SELECT p\nFROM Permission p\nWHERE p.userId = :userId\n AND p.dataNeed.type = energy.eddie.dataneeds.needs.aiida.InboundAiidaDataNeed.DISCRIMINATOR_VALUE\n AND p.dataSource IS NOT NULL\n AND p.status IN (:statuses)\nORDER BY p.grantTime DESC\n") List<Permission> findInboundByUserIdAndStatus(UUID userId, Set<PermissionStatus> statuses)
    • existsByUserIdAndDataNeedTypeAndContextAndMeterIdAndStatusIn

      @Query("SELECT CASE WHEN COUNT(p) > 0 THEN true ELSE false END\nFROM Permission p\nJOIN p.dataNeed dn\nJOIN dn.contexts c\nWHERE p.userId = :userId\n AND p.meterId = :meterId\n AND p.status IN (:statuses)\n AND dn.type = :dataNeedType\n AND c = :context\n") boolean existsByUserIdAndDataNeedTypeAndContextAndMeterIdAndStatusIn(UUID userId, String dataNeedType, AiidaContext context, String meterId, Set<PermissionStatus> statuses)