def METHOD_NAME(self):
    if self.action != "list":
        return self.queryset
    request = self.request
    queryset = self.queryset
    uploader = request.query_params.get("uploader")
    if uploader:
        queryset = queryset.filter(metadata__uploader=uploader)
    search = request.query_params.get("search")
    if search:
        queryset = VideoEntity.filter_search(queryset, search)
    date_lte = request.query_params.get("date_lte") or ""
    if date_lte:
        try:
            date_lte = self.parse_datetime(date_lte)
            queryset = VideoEntity.filter_date_lte(queryset, date_lte)
        except ValueError as error:
            raise ValidationError('"date_lte" is an invalid datetime.') from error
    date_gte = request.query_params.get("date_gte") or ""
    if date_gte:
        try:
            date_gte = self.parse_datetime(date_gte)
            queryset = VideoEntity.filter_date_gte(queryset, date_gte)
        except ValueError as error:
            raise ValidationError('"date_gte" is an invalid datetime') from error
    language = request.query_params.get("language")
    if language:
        queryset = queryset.filter(metadata__language__in=language.split(","))
    criteria_cases = [
        When(
            all_criteria_scores__criteria=crit,
            then=int(
                request.query_params.get(crit)
                if request.query_params.get(crit)
                and request.query_params.get(crit).isdigit()
                else 50
            ),
        )
        for crit in settings.LEGACY_CRITERIAS
    ]
    criteria_weight = Case(*criteria_cases, default=0)
    queryset = (
        queryset
        .filter(all_criteria_scores__score_mode=ScoreMode.DEFAULT)
        .annotate(
            total_score=Sum(F("all_criteria_scores__score") * criteria_weight)
        ).filter(total_score__isnull=False)
    )
    show_unsafe = request.query_params.get("unsafe") == "true"
    if not show_unsafe:
        queryset = queryset.filter(
            all_poll_ratings__poll__name=DEFAULT_POLL_NAME,
            all_poll_ratings__sum_trust_scores__gte=settings.RECOMMENDATIONS_MIN_TRUST_SCORES,
            tournesol_score__gt=0,
        )
    return (
        queryset
        .with_prefetched_scores(poll_name=DEFAULT_POLL_NAME)
        .order_by("-total_score", "-metadata__publication_date")
    )