def query_topic_list_with_pagination(query_name: str,
                                     pagination: Pagination) -> DataPage:
    '''
    return template.query_with_pagination(TOPICS, pagination, Topic, query_dict={"name": regex.Regex(query_name)},
                                          sort_dict=["last_modified", pymongo.DESCENDING])
    '''
    # query_dict = {"name": regex.Regex(query_name)}
    # sort_dict = [{"last_modified": pymongo.DESCENDING}]
    if query_name != '':
        query_dict = {"name": {"like": query_name}}
        sort_dict = [("last_modified", "desc")]
        return page_(query_dict, sort_dict, pagination, Topic, TOPICS)
    else:
        sort_dict = [("last_modified", "desc")]
        return page_all(sort_dict, pagination, Topic, TOPICS)
def load_all_enum_list(pagination: Pagination) -> DataPage:
    # return template.query_with_pagination(ENUMS, pagination, Enum, sort_dict={"last_modified": pymongo.DESCENDING})
    return page_all([("last_modified", "desc")], pagination, Enum, ENUMS)
def load_all_topic_list(pagination: Pagination) -> DataPage:
    # return template.query_with_pagination(TOPICS, pagination, Topic, sort_dict={"last_modified": pymongo.DESCENDING})
    sort_dict = [{"last_modified": OrderType.DESCENDING}]
    return page_all(sort_dict, pagination, Topic, TOPICS)