[sorting query builder] Adjust filtering
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class SortingQueryBuilder < BaseService
|
||||
def call(sort_type, group = nil, page = 1)
|
||||
def call(sort_type, group = nil, page = 1, account = nil)
|
||||
limit = 20
|
||||
|
||||
min_likes = 5
|
||||
@@ -44,6 +44,8 @@ class SortingQueryBuilder < BaseService
|
||||
query = query.with_public_visibility if group.nil?
|
||||
query = query.where('statuses.created_at > ?', date_limit)
|
||||
query = query.where(group: group) unless group.nil?
|
||||
query = query.excluding_blocked_reblogs(account) unless account.nil?
|
||||
query = query.not_excluded_by_account(current_account) unless account.nil?
|
||||
query = query.page(page.to_i)
|
||||
query = query.per(limit)
|
||||
return query
|
||||
@@ -55,6 +57,8 @@ class SortingQueryBuilder < BaseService
|
||||
query = query.where('status_stats.reblogs_count > ?', min_reblogs) unless sort_type == 'recent'
|
||||
query = query.where('status_stats.favourites_count > ?', min_likes) unless sort_type == 'recent'
|
||||
query = query.joins(:status)
|
||||
query = query.excluding_blocked_reblogs(account) unless account.nil?
|
||||
query = query.not_excluded_by_account(current_account) unless account.nil?
|
||||
query = query.where('statuses.reblog_of_id IS NULL')
|
||||
query = query.where('statuses.in_reply_to_id IS NULL')
|
||||
query = query.where('statuses.group_id': group) unless group.nil?
|
||||
|
||||
Reference in New Issue
Block a user