package eu.kielczewski.akanke.common.service.document; import eu.kielczewski.akanke.common.domain.Document; import org.springframework.data.domain.Page; import java.util.List; import java.util.Map; import java.util.Optional; public interface DocumentService { Document get(String id); Map<String, Long> getTagCounts(); Page<Document> getRecentByTag(String tag, int page, int numPerPage); Page<Document> getRecent(int page, int numPerPage); Optional<Document> getOneMostRecent(); Map<String, Map<String, Long>> getCountInYearMonth(); Page<Document> getRecentByYear(int year, int page, int numPerPage); Map<String, Long> getCountInMonthByYear(int year); Page<Document> getRecentByYearMonth(int year, int month, int page, int numPerPage); long getCountByYearMonth(int year, int month); List<Document> getMostPopular(int count); }