Как использовать apply_custom_query из topic_query.rb для тем на странице обзоров в плагине

Здравствуйте,

У меня есть плагин, который использует функцию TopicQuery.add_custom_filter.

Он применяет мой пользовательский фильтр, как и ожидалось, только к представлению по умолчанию тем, отображаемых на главной странице.

Я заметил, что это связано с тем, что в файле topic_query.rb в методе default_results есть вызов для применения моих пользовательских фильтров с помощью:

    result = apply_ordering(result, options)

Это хорошо, но не совсем то, что мне нужно. Я хотел, чтобы этот фильтр применялся ко всему, что отображается на странице /review. Не уверен, как это сделать.

Кто-нибудь знаком с этой частью кода?

Мой текущий способ фильтрации можно увидеть здесь:
https://github.com/hms-networks/discourse-location-filters/blob/test/app/controllers/filter_controller.rb

А файл discourse rb, о котором я говорю, находится здесь:

Похоже, я ошибся, начав с этого пути запросов по темам, так как, судя по всему, reviewables вообще не использует эти функции запросов по темам, поэтому я не могу применить пользовательский фильтр таким образом.

Также я всё ещё немного запутался в параметрах apply_custom_filters. Означают ли results хэш Ruby с темами? И является ли topic_query просто экземпляром класса?

Двигаясь дальше, я не уверен, что это правильный подход, но попробую выяснить, как переопределить функцию reviewables_controller#index, чтобы удалять темы из списка reviewables в зависимости от текущего пользователя.

Буду рад любым советам и предложениям :slight_smile: