def get_search_requests(page=0, limit=100, type=None): query = Search().select( Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username, Search.title, Search.author, TvIdCache.title.alias("tvtitle"), MovieIdCache.title.alias("movietitle")).join( TvIdCache, JOIN.LEFT_OUTER, on=(((Search.identifier_value == TvIdCache.tvdb) & (Search.identifier_key == "tvdbid")) | ((Search.identifier_value == TvIdCache.tvrage) & (Search.identifier_key == "rid")))).join( MovieIdCache, JOIN.LEFT_OUTER, on=(((Search.identifier_value == MovieIdCache.imdb) & (Search.identifier_key == "imdbid")) | ((Search.identifier_value == MovieIdCache.tmdb) & (Search.identifier_key == "tmdbid")))) if type is not None and type != "All": query = query.where( Search.internal) if type == "Internal" else query.where( ~Search.internal) total_requests = query.count() requests = list( query.order_by(Search.time.desc()).paginate(page, limit).dicts()) search_requests = { "totalRequests": total_requests, "searchRequests": requests } return search_requests
def get_search_requests(page=0, limit=100, type=None): query = Search().select(Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type) if type is not None and type != "All": query = query.where(Search.internal) if type == "Internal" else query.where(~Search.internal) total_requests = query.count() requests = list(query.order_by(Search.time.desc()).paginate(page, limit).dicts()) search_requests = {"totalRequests": total_requests, "searchRequests": requests} return search_requests
def get_search_requests(page=0, limit=100, type=None): query = Search().select(Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username, TvIdCache.title.alias("tvtitle"), MovieIdCache.title.alias("movietitle")).join(TvIdCache, JOIN.LEFT_OUTER, on=( ((Search.identifier_value == TvIdCache.tvdb) & (Search.identifier_key == "tvdbid")) | ((Search.identifier_value == TvIdCache.tvrage) & (Search.identifier_key == "rid")) )).join(MovieIdCache, JOIN.LEFT_OUTER, on=( ((Search.identifier_value == MovieIdCache.imdb) & (Search.identifier_key == "imdbid")) | ((Search.identifier_value == MovieIdCache.tmdb) & (Search.identifier_key == "tmdbid")))) if type is not None and type != "All": query = query.where(Search.internal) if type == "Internal" else query.where(~Search.internal) total_requests = query.count() requests = list(query.order_by(Search.time.desc()).paginate(page, limit).dicts()) search_requests = {"totalRequests": total_requests, "searchRequests": requests} return search_requests
def get_search_requests(page=0, limit=100, sortModel=None, filterModel=None, distinct=False, onlyUser=None): columnNameToEntityMap = { "time": Search.time, "query": Search.query, "category": Search.category, "access": Search.internal, "username": Search.username } columns = [Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username, Search.title, Search.author, TvIdCache.title.alias("tvtitle"), MovieIdCache.title.alias("movietitle")] query = Search().select(*columns) query = query.join(TvIdCache, JOIN.LEFT_OUTER, on=( ((Search.identifier_value == TvIdCache.tvdb) & (Search.identifier_key == "tvdbid")) | ((Search.identifier_value == TvIdCache.tvrage) & (Search.identifier_key == "rid")) )).join(MovieIdCache, JOIN.LEFT_OUTER, on=( ((Search.identifier_value == MovieIdCache.imdb) & (Search.identifier_key == "imdbid")) | ((Search.identifier_value == MovieIdCache.tmdb) & (Search.identifier_key == "tmdbid")))) query = extendQueryWithFilter(columnNameToEntityMap, filterModel, query) query = extendQueryWithSorting(columnNameToEntityMap, query, sortModel, Search.time.desc()) if onlyUser is not None and onlyUser: query = query.where(Search.username == onlyUser) if distinct: query = query.group_by(Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username, Search.title, Search.author) total_requests = query.count() requests = list(query.paginate(page, limit).dicts()) search_requests = {"totalRequests": total_requests, "searchRequests": requests} return search_requests
def get_search_requests(page=0, limit=100, type=None): query = Search().select(Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username) if type is not None and type != "All": query = query.where( Search.internal) if type == "Internal" else query.where( ~Search.internal) total_requests = query.count() requests = list( query.order_by(Search.time.desc()).paginate(page, limit).dicts()) search_requests = { "totalRequests": total_requests, "searchRequests": requests } return search_requests