feat: skip inbox filter if the user has access to all inboxes (#12043)

This commit is contained in:
Shivam Mishra
2025-07-25 13:59:10 +04:00
committed by GitHub
parent 87313ecc35
commit c09e875c83
2 changed files with 29 additions and 4 deletions

View File

@@ -83,10 +83,18 @@ class SearchService
def message_base_query
query = current_account.messages.where('created_at >= ?', 3.months.ago)
query = query.where(inbox_id: accessable_inbox_ids) unless account_user.administrator?
query = query.where(inbox_id: accessable_inbox_ids) unless should_skip_inbox_filtering?
query
end
def should_skip_inbox_filtering?
account_user.administrator? || user_has_access_to_all_inboxes?
end
def user_has_access_to_all_inboxes?
accessable_inbox_ids.sort == current_account.inboxes.pluck(:id).sort
end
def use_gin_search
current_account.feature_enabled?('search_with_gin')
end