package qa.qcri.aidr.manager.repository; import java.io.Serializable; import java.util.Date; import java.util.List; import qa.qcri.aidr.common.values.UsageType; import qa.qcri.aidr.manager.dto.CollectionSummaryInfo; import qa.qcri.aidr.manager.persistence.entities.Collection; import qa.qcri.aidr.manager.persistence.entities.UserAccount; public interface CollectionRepository extends GenericRepository<Collection, Serializable> { public Integer getPublicCollectionsCount(final Enum statusValue); public List<Collection> getPaginatedDataForPublic( Integer start, Integer limit, Enum statusValue); public List<Collection> searchByName(String query, Long userId) throws Exception; public List<Collection> getPaginatedData(Integer start, Integer limit, UserAccount user, boolean onlyTrashed); public Integer getCollectionsCount(UserAccount user, boolean onlyTrashed); public Boolean exist(String code); public Boolean existName(String name); public Collection getRunningCollectionStatusByUser(Long userId); public List<Collection> getRunningCollections(); public List<Collection> getRunningCollections(Integer start, Integer limit, String terms, String sortColumn, String sortDirection); public Long getRunningCollectionsCount(String terms); public List<Collection> getStoppedCollections(Integer start, Integer limit, String terms, String sortColumn, String sortDirection); public Long getStoppedCollectionsCount(String terms); public Collection getInitializingCollectionStatusByUser(Long userId); public Collection start(Long collectionId); public Collection stop(Long collectionId); public Collection findByCode(String code); public Collection trashCollectionById(Long collectionId); public List<Collection> getAllCollectionByUser(Long userId); @Override public void update(Collection collection); public List<Collection> getAllCollectionsByUsage(UsageType usageType); public List<Collection> findMicromappersFilteredCollections(boolean micromappersEnabled); Long getTotalCollectionsCount(); public List<String> getEligibleFacebookCollectionsToReRun(); List<Collection> getUnexpectedlyStoppedCollections(Date today); List<CollectionSummaryInfo> getAllCollectionForAidrData(); }