diff options
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/account_search_service.rb | 10 | ||||
-rw-r--r-- | app/services/search_service.rb | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb index 7bdffbbd2..c47b1c094 100644 --- a/app/services/account_search_service.rb +++ b/app/services/account_search_service.rb @@ -10,7 +10,15 @@ class AccountSearchService < BaseService @options = options @account = account - search_service_results + results = search_service_results + + unless account.nil? + account_ids = results.map(&:id) + blocked_by_map = Account.blocked_by_map(account_ids, account.id) + results.reject! { |item| blocked_by_map[item.id] } + end + + results end private diff --git a/app/services/search_service.rb b/app/services/search_service.rb index e0da61dac..a8442654c 100644 --- a/app/services/search_service.rb +++ b/app/services/search_service.rb @@ -12,6 +12,8 @@ class SearchService < BaseService default_results.tap do |results| if url_query? results.merge!(url_resource_results) unless url_resource.nil? + results[:accounts].reject! { |item| item.blocking?(@account) } + results[:statuses].reject! { |status| StatusFilter.new(status, @account).filtered? } elsif @query.present? results[:accounts] = perform_accounts_search! if account_searchable? results[:statuses] = perform_statuses_search! if full_text_searchable? |