From 730f652255474f28e08f7cf442f6ffe2a68354cf Mon Sep 17 00:00:00 2001
From: Mark VanLandingham <markvanlan@gmail.com>
Date: Mon, 21 Aug 2023 12:23:42 -0500
Subject: [PATCH] DEV: Add plugin modifier locations for user search locations
 (#23169)

---
 app/models/user_search.rb | 3 ++-
 lib/search.rb             | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/app/models/user_search.rb b/app/models/user_search.rb
index 5f848666721..01b5c418b91 100644
--- a/app/models/user_search.rb
+++ b/app/models/user_search.rb
@@ -198,7 +198,8 @@ class UserSearch
 
   def search
     ids = search_ids
-    return User.where("0=1") if ids.empty?
+    ids = DiscoursePluginRegistry.apply_modifier(:user_search_ids, ids)
+    return User.none if ids.empty?
 
     results =
       User.joins(
diff --git a/lib/search.rb b/lib/search.rb
index 7edbfc7f360..748cc9bd991 100644
--- a/lib/search.rb
+++ b/lib/search.rb
@@ -939,6 +939,8 @@ class Search
       users = users.where(suspended_at: nil)
     end
 
+    users = DiscoursePluginRegistry.apply_modifier(:search_user_search, users)
+
     users_custom_data_query =
       DB.query(<<~SQL, user_ids: users.pluck(:id), term: "%#{@original_term.downcase}%")
       SELECT user_custom_fields.user_id, user_fields.name, user_custom_fields.value FROM user_custom_fields