Package io.meeds.commons.digest.dao
Interface DigestItemDAO
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<DigestItemEntity,,Long> org.springframework.data.jpa.repository.JpaRepository<DigestItemEntity,,Long> org.springframework.data.repository.ListCrudRepository<DigestItemEntity,,Long> org.springframework.data.repository.ListPagingAndSortingRepository<DigestItemEntity,,Long> org.springframework.data.repository.PagingAndSortingRepository<DigestItemEntity,,Long> org.springframework.data.repository.query.QueryByExampleExecutor<DigestItemEntity>,org.springframework.data.repository.Repository<DigestItemEntity,Long>
@Repository
public interface DigestItemDAO
extends org.springframework.data.jpa.repository.JpaRepository<DigestItemEntity,Long>
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionintdeleteByUser(String userId) Every waiting item of one user, when the user leaves the digest for goodintdeleteCovered(String userId, Instant until) Deletes the items every enabled frequency of the recipient has coveredintdeleteOlderThan(Instant before) Safety cleanup: items older than the retention, whatever happenedintSafety cleanup: items of users who have no digest enabled any morefindByUserIdAndItemDateGreaterThanAndItemDateLessThanEqualOrderByItemDateDesc(String userId, Instant after, Instant until) The items of one digest occurrence: what the recipient received after the previous watermark and up to the claim moment, most recent firstfindByUserIdAndPluginIdAndParamsContaining(String userId, String pluginId, String paramsFragment) The waiting items of a recipient about one object, matched on a parameterfindByUserIdInAndPluginIdAndParams(Collection<String> userIds, String pluginId, String params) The waiting items of these recipients about the very same notification (same type, same parameters): one query for every recipient, at captureMethods 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
-
Field Details
-
DELETE_COVERED_QUERY
- See Also:
-
DELETE_OLDER_THAN_QUERY
- See Also:
-
DELETE_ORPHANS_QUERY
- See Also:
-
DELETE_BY_USER_QUERY
- See Also:
-
-
Method Details
-
findByUserIdInAndPluginIdAndParams
List<DigestItemEntity> findByUserIdInAndPluginIdAndParams(Collection<String> userIds, String pluginId, String params) The waiting items of these recipients about the very same notification (same type, same parameters): one query for every recipient, at capture -
findByUserIdAndPluginIdAndParamsContaining
List<DigestItemEntity> findByUserIdAndPluginIdAndParamsContaining(String userId, String pluginId, String paramsFragment) The waiting items of a recipient about one object, matched on a parameter -
findByUserIdAndItemDateGreaterThanAndItemDateLessThanEqualOrderByItemDateDesc
List<DigestItemEntity> findByUserIdAndItemDateGreaterThanAndItemDateLessThanEqualOrderByItemDateDesc(String userId, Instant after, Instant until) The items of one digest occurrence: what the recipient received after the previous watermark and up to the claim moment, most recent first -
deleteCovered
@Modifying @Query("DELETE FROM DigestItem i WHERE i.userId = :userId AND i.itemDate <= :until") int deleteCovered(@Param("userId") String userId, @Param("until") Instant until) Deletes the items every enabled frequency of the recipient has covered -
deleteOlderThan
@Modifying @Query("DELETE FROM DigestItem i WHERE i.itemDate < :before") int deleteOlderThan(@Param("before") Instant before) Safety cleanup: items older than the retention, whatever happened -
deleteOrphans
@Modifying @Query("DELETE FROM DigestItem i WHERE i.userId NOT IN (SELECT u.userId FROM DigestUser u)") int deleteOrphans()Safety cleanup: items of users who have no digest enabled any more -
deleteByUser
@Modifying @Query("DELETE FROM DigestItem i WHERE i.userId = :userId") int deleteByUser(@Param("userId") String userId) Every waiting item of one user, when the user leaves the digest for good
-