Merge pull request 'Manually define PATH for Arch Linux users in systemd unit' (...
[akkoma] / lib / pleroma / search.ex
index 99bce632c266e6571da688873e43d8ddf1412aaa..3b266e59bbb90e8251302ab7d74febde6c541546 100644 (file)
@@ -1,12 +1,17 @@
 defmodule Pleroma.Search do
-  @type search_map :: %{
-          statuses: [map],
-          accounts: [map],
-          hashtags: [map]
-        }
-
-  @doc """
-  Searches for stuff
-  """
-  @callback search(map, map, keyword) :: search_map
+  alias Pleroma.Workers.SearchIndexingWorker
+
+  def add_to_index(%Pleroma.Activity{id: activity_id}) do
+    SearchIndexingWorker.enqueue("add_to_index", %{"activity" => activity_id})
+  end
+
+  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)
+
+    search_module.search(options[:for_user], query, options)
+  end
 end