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

    • findByUserIdOrderByGrantTimeDescRevokeTimeDesc

      List<Permission> findByUserIdOrderByGrantTimeDescRevokeTimeDesc(UUID userId)
    • findByMonitoringDataSourceIdIsNotNullAndStatus

      List<Permission> findByMonitoringDataSourceIdIsNotNullAndStatus(PermissionStatus status)
    • findByMqttStreamingConfigIsNotNullAndStatus

      List<Permission> findByMqttStreamingConfigIsNotNullAndStatus(PermissionStatus status)
    • findByPermissionIdAndUserId

      Optional<Permission> findByPermissionIdAndUserId(UUID permissionId, UUID userId)
    • 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 = :status\n") List<Permission> findOutboundByDataSourceIdAndStatus(UUID dataSourceId, PermissionStatus status)
    • findInboundByDataSourceId

      @Query("SELECT p\nFROM Permission p\nWHERE p.dataSource.id = :dataSourceId\n AND p.dataNeed.type = energy.eddie.dataneeds.needs.aiida.InboundAiidaDataNeed.DISCRIMINATOR_VALUE\n") Optional<Permission> findInboundByDataSourceId(UUID dataSourceId)
    • 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 = :status\nORDER BY p.grantTime DESC\n") List<Permission> findInboundByUserIdAndStatus(UUID userId, PermissionStatus status)
    • existsByUserIdAndDataNeedTypeAndContextAndMeterIdAndStatus

      @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 = :status\n AND dn.type = :dataNeedType\n AND c = :context\n") boolean existsByUserIdAndDataNeedTypeAndContextAndMeterIdAndStatus(UUID userId, String dataNeedType, AiidaContext context, String meterId, PermissionStatus status)