Interface PermissionRequestMetricsRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<PermissionRequestMetricsModel,,Long> org.springframework.data.jpa.repository.JpaRepository<PermissionRequestMetricsModel,,Long> org.springframework.data.repository.ListCrudRepository<PermissionRequestMetricsModel,,Long> org.springframework.data.repository.ListPagingAndSortingRepository<PermissionRequestMetricsModel,,Long> org.springframework.data.repository.PagingAndSortingRepository<PermissionRequestMetricsModel,,Long> org.springframework.data.repository.query.QueryByExampleExecutor<PermissionRequestMetricsModel>,org.springframework.data.repository.Repository<PermissionRequestMetricsModel,Long>
@Repository
public interface PermissionRequestMetricsRepository
extends org.springframework.data.jpa.repository.JpaRepository<PermissionRequestMetricsModel,Long>
-
Method Summary
Modifier and TypeMethodDescriptiongetPermissionRequestMetrics(PermissionProcessStatus status, String dataNeedType, DataSourceInformation dsi) voidMethods 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 org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
-
Method Details
-
getPermissionRequestMetrics
@Query("SELECT p FROM PermissionRequestMetricsModel p WHERE p.permissionRequestStatus = :status AND p.dataNeedType = :dataNeedType AND p.permissionAdministratorId = :#{#dsi.permissionAdministratorId()} AND p.regionConnectorId = :#{#dsi.regionConnectorId()} AND p.countryCode = :#{#dsi.countryCode()}") Optional<PermissionRequestMetricsModel> getPermissionRequestMetrics(@Param("status") PermissionProcessStatus status, @Param("dataNeedType") String dataNeedType, @Param("dsi") DataSourceInformation dsi) -
upsertPermissionRequestMetric
@Modifying @Transactional @Query(value="INSERT INTO metric.permission_request_metrics (mean, median, permission_request_count, permission_request_status,\n data_need_type, permission_administrator_id, region_connector_id, country_code)\n VALUES (:#{#model.mean}, :#{#model.median}, :#{#model.permissionRequestCount}, :#{#model.permissionRequestStatus.name()},\n :#{#model.dataNeedType}, :#{#model.permissionAdministratorId}, :#{#model.regionConnectorId}, :#{#model.countryCode})\n ON CONFLICT (permission_request_status, data_need_type, permission_administrator_id, region_connector_id, country_code)\n DO UPDATE SET\n mean = excluded.mean,\n median = excluded.median,\n permission_request_count = excluded.permission_request_count\n", nativeQuery=true) void upsertPermissionRequestMetric(@Param("model") PermissionRequestMetricsModel model)
-