Interface EsPermissionRequestRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<DatadisPermissionRequest,,String> org.springframework.data.jpa.repository.JpaRepository<DatadisPermissionRequest,,String> org.springframework.data.repository.ListCrudRepository<DatadisPermissionRequest,,String> org.springframework.data.repository.ListPagingAndSortingRepository<DatadisPermissionRequest,,String> org.springframework.data.repository.PagingAndSortingRepository<DatadisPermissionRequest,,String> PermissionRequestRepository<EsPermissionRequest>,org.springframework.data.repository.query.QueryByExampleExecutor<DatadisPermissionRequest>,org.springframework.data.repository.Repository<DatadisPermissionRequest,,String> StalePermissionRequestRepository<DatadisPermissionRequest>,StatusPermissionRequestRepository<EsPermissionRequest>
@Repository
public interface EsPermissionRequestRepository
extends org.springframework.data.jpa.repository.JpaRepository<DatadisPermissionRequest,String>, StatusPermissionRequestRepository<EsPermissionRequest>, StalePermissionRequestRepository<DatadisPermissionRequest>, PermissionRequestRepository<EsPermissionRequest>
-
Method Summary
Modifier and TypeMethodDescriptionfindAllByBundleId(UUID bundleId) findByStatus(PermissionProcessStatus status) findStalePermissionRequests(int timeoutDuration) Finds all permission request that are older than thestalenessDurationand have either the statusVALIDATEDorSENT_TO_PERMISSION_ADMINISTRATOR.Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, saveMethods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlushMethods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAllMethods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAllMethods inherited from interface energy.eddie.api.agnostic.process.model.persistence.PermissionRequestRepository
findByPermissionId, getByPermissionId, saveMethods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
-
Method Details
-
findByStatus
- Specified by:
findByStatusin interfaceStatusPermissionRequestRepository<EsPermissionRequest>
-
findStalePermissionRequests
@Query(value="SELECT permission_id, connection_id, nif, metering_point_id, permission_start, permission_end, data_need_id, granularity, allowed_granularity, distributor_code, point_type, latest_meter_reading, status, error_message, production_support, created, bundle_id FROM es_datadis.datadis_permission_request WHERE status = \'SENT_TO_PERMISSION_ADMINISTRATOR\' AND created <= NOW() - :hours * INTERVAL \'1 hour\'", nativeQuery=true) List<DatadisPermissionRequest> findStalePermissionRequests(@Param("hours") int timeoutDuration) Description copied from interface:StalePermissionRequestRepositoryFinds all permission request that are older than thestalenessDurationand have either the statusVALIDATEDorSENT_TO_PERMISSION_ADMINISTRATOR.- Specified by:
findStalePermissionRequestsin interfaceStalePermissionRequestRepository<DatadisPermissionRequest>- Parameters:
timeoutDuration- the max amount of hours the permission request has to be created ago to not be considered stale.- Returns:
- all permission request created now -
stalenessDurationhours ago, with above specified status.
-
findAllByBundleId
@Query(value=" WITH permissions AS (\n SELECT DISTINCT ON (permission_id) permission_id\n FROM es_datadis.permission_event\n WHERE bundle_id = :bundleId\n )\n SELECT DISTINCT ON (permission_id) permission_id,\n es_datadis.firstval_agg(connection_id) OVER w AS connection_id,\n es_datadis.firstval_agg(nif) OVER w AS nif,\n es_datadis.firstval_agg(metering_point_id) OVER w AS metering_point_id,\n es_datadis.firstval_agg(permission_start) OVER w AS permission_start,\n es_datadis.firstval_agg(permission_end) OVER w AS permission_end,\n es_datadis.firstval_agg(data_need_id) OVER w AS data_need_id,\n es_datadis.firstval_agg(granularity) OVER w AS granularity,\n es_datadis.firstval_agg(allowed_granularity) OVER w AS allowed_granularity,\n es_datadis.firstval_agg(distributor_code) OVER w AS distributor_code,\n es_datadis.firstval_agg(supply_point_type) OVER w AS point_type,\n es_datadis.firstval_agg(latest_meter_reading) OVER w AS latest_meter_reading,\n es_datadis.firstval_agg(status) OVER w AS status,\n es_datadis.firstval_agg(message) OVER w AS error_message,\n es_datadis.firstval_agg(production_support) OVER w AS production_support,\n MIN(event_created) OVER w AS created,\n es_datadis.firstval_agg(bundle_id) OVER w AS bundle_id\n FROM es_datadis.permission_event\n JOIN permissions USING (permission_id)\n WINDOW w AS (\n PARTITION BY permission_id ORDER BY event_created DESC\n ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING\n )\n ORDER BY permission_id, event_created;\n", nativeQuery=true) List<DatadisPermissionRequest> findAllByBundleId(@Param("bundleId") UUID bundleId)
-