about summary refs log tree commit diff
path: root/app/services
diff options
context:
space:
mode:
Diffstat (limited to 'app/services')
-rw-r--r--app/services/account_search_service.rb10
-rw-r--r--app/services/search_service.rb2
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?