in dev, allow dev FE
[akkoma] / lib / pleroma / search.ex
index e363abf1946763f7e3b2e88ac52575259f3c9bd0..3b266e59bbb90e8251302ab7d74febde6c541546 100644 (file)
@@ -1,18 +1,17 @@
 defmodule Pleroma.Search do
-  def add_to_index(activity) do
-    search_module = Pleroma.Config.get([Pleroma.Search, :module])
+  alias Pleroma.Workers.SearchIndexingWorker
 
-    ConcurrentLimiter.limit(Pleroma.Search, fn ->
-      Task.start(fn -> search_module.add_to_index(activity) end)
-    end)
+  def add_to_index(%Pleroma.Activity{id: activity_id}) do
+    SearchIndexingWorker.enqueue("add_to_index", %{"activity" => activity_id})
   end
 
-  def remove_from_index(object) do
-    # Also delete from search index
-    search_module = Pleroma.Config.get([Pleroma.Search, :module])
+  def remove_from_index(%Pleroma.Object{id: object_id}) do
+    SearchIndexingWorker.enqueue("remove_from_index", %{"object" => object_id})
+  end
+
+  def search(query, options) do
+    search_module = Pleroma.Config.get([Pleroma.Search, :module], Pleroma.Activity)
 
-    ConcurrentLimiter.limit(Pleroma.Search, fn ->
-      Task.start(fn -> search_module.remove_from_index(object) end)
-    end)
+    search_module.search(options[:for_user], query, options)
   end
 end