X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fsearch.ex;h=3b266e59bbb90e8251302ab7d74febde6c541546;hb=9a320ba8149a3efae1235b3b68dbf1bbad423e0d;hp=99bce632c266e6571da688873e43d8ddf1412aaa;hpb=cfb8aa7e59d1f0b89885aebd9c8e299d584119b7;p=akkoma diff --git a/lib/pleroma/search.ex b/lib/pleroma/search.ex index 99bce632c..3b266e59b 100644 --- a/lib/pleroma/search.ex +++ b/lib/pleroma/search.ex @@ -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