package link.at17.mid.tushare.cache;

public class CacheConstants {
    
    public static class Statistics {
        /** 每日更新、更新 Post 和 Comment 时更新 */
        public static final String DAILY_POST_AND_COMMENT_COUNTS
        = "StatisticsService::getPostAndCommentCountsWithDate";
        /** 每日更新 */
        public static final String DAY_SINCE
        = "StatisticsService::daySince";
        /** 更新 Post 时更新 */
        public static final String TOTAL_RELEASE_POSTS_COUNT
        = "StatisticsService::totalReleasedPostsCount";
        /** 更新 Post 和 Comment 时更新 */
        public static final String TOTAL_COMMENTS_COUNT
        = "StatisticsService::totalCommentsCount";
    }
    
    public static class Posts {
        static final String ID = "Posts::";
        
        // Markdown
        /** 更新 Post 时更新(指定 PostID) */
        public static final String MARKDOWN_CONTENT_RENDERING
        = ID + "Markdown::renderPostContent";
        /** 更新 Post 时更新(指定 PostID) */
        public static final String MARKDOWN_PREFACE_RENDERING
        = ID + "Markdown::renderPostPreface";
        
        // Statistic
        public static final String POST_STATISTIC
        = ID + "PostStatistic::getPostStatistic";
        
        // CondictionPage
        /** 更新 Post/Meta 时更新 */
        public static final String CONDITION_PAGE
        = ID + "ConditionPage::conditionPage";
        
        // PostService
        /// 与 ID 或 Name 有关
        /** 更新 Post 时更新(指定 PostID) */
        public static final String GET_BY_ID
        = ID + "PostService::getById";
        /** 更新 Post 时更新(指定 PostID) */
        public static final String GET_BY_ID_LOGINED
        = ID + "PostService::getByIdLogined";
        /** 更新 Post 时更新(指定 PostID) */
        public static final String GET_BY_ID_UNLOGINED
        = ID + "PostService::getByIdUnlogined";
        /** 更新 Post 时更新(指定 PostPageName) */
        public static final String GET_BY_NAME_LOGINED
        = ID + "PostService::getByNameLogined";
        /** 更新 Post 时更新(指定 PostPageName) */
        public static final String GET_BY_NAME_UNLOGINED
        = ID + "PostService::getByNameUnlogined";
        
        /** 更新 Post 时更新(指定 PostID 的 Next 的 PostID) */
        public static final String GET_PREVIOUS_LOGINED
        = ID + "PostService::getPreviousLogined";
        /** 更新 Post 时更新(指定 PostID 的 Next 的 PostID) */
        public static final String GET_PREVIOUS_UNLOGINED
        = ID + "PostService::getPreviousUnlogined";
        /** 更新 Post 时更新(指定 PostID 的 Previous 的 PostID) */
        public static final String GET_NEXT_LOGINED
        = ID + "PostService::getNextLogined";
        /** 更新 Post 时更新(指定 PostID 的 Previous 的 PostID) */
        public static final String GET_NEXT_UNLOGINED
        = ID + "PostService::getNextUnlogined";
        
        /// 与 ID 或 Name 无关(批量)
        /** 更新 Post 时更新 */
        public static final String GET_LATEST_POSTS_LOGINED
        = ID + "PostService::getLatestPostsLogined";
        /** 更新 Post 时更新 */
        public static final String GET_LATEST_POSTS_UNLOGINED
        = ID + "PostService::getLatestPostsUnlogined";

        /** 更新 Post 和 Comment 时更新 */
        public static final String GET_POPULAR_POSTS_LOGINED
        = ID + "PostService::getPopularPostsLogined";
        /** 更新 Post 和 Comment 时更新 */
        public static final String GET_POPULAR_POSTS_UNLOGINED
        = ID + "PostService::getPopularPostsUnlogined";
        
    }
    
    public static class Comments {
        static final String ID = "Comments::";
        
        // Markdown
        public static final String MARKDOWN_CONTENT_RENDERING
        = ID + "Markdown::renderCommentContent";
        
        // CommentService
        public static final String GET_POST_COMMENT_PAGE
        = ID + "CommentService::getPostCommentPage";
        public static final String GET_FULL_RELATIVE_COMMENT
        = ID + "CommentService::getFullRelativeComment";
        public static final String GET_LATEST_COMMENTS
        = ID + "CommentService::getLatestComments";
        public static final String GET_LATEST_COMMENTS_WITH_LEVEL
        = ID + "CommentService::getLatestCommentsWithLevel";
        public static final String LIST_FROM_CHILD_TO_PARENT
        = ID + "CommentService::listFromChildToParent";
        public static final String GET_JUMP_TO_URL
        = ID + "CommentService::getJumpToUrl";
    }
    
    public static class Metas {
        static final String ID = "Metas::";
        
        // MetaService
        /** 更新 Post 和 Meta 时更新(批量) */
        public static final String LIST_META_COUNT
        = ID + "MetaService::listMetaCount";
    }

}
