mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2025-04-24 22:07:52 -04:00
Improve add_to_index/1 when there is no Object
This commit is contained in:
parent
7c09150cdb
commit
592955a895
1 changed files with 9 additions and 2 deletions
|
@ -5,7 +5,7 @@ defmodule Pleroma.Search do
|
|||
alias Pleroma.Workers.SearchIndexingWorker
|
||||
|
||||
@spec add_to_index(Activity.t()) :: :ok | :error
|
||||
def add_to_index(%Pleroma.Activity{id: activity_id, object: %Object{} = object} = activity) do
|
||||
def add_to_index(%Activity{id: activity_id, object: %Object{} = object} = activity) do
|
||||
with {_, true} <- {:indexable, indexable?(activity)},
|
||||
{_, "public"} <- {:visibility, Visibility.get_visibility(object)},
|
||||
{:ok, %Oban.Job{}} <-
|
||||
|
@ -18,6 +18,13 @@ defmodule Pleroma.Search do
|
|||
end
|
||||
end
|
||||
|
||||
def add_to_index(%Activity{id: activity_id}) do
|
||||
case Activity.get_by_id_with_object(activity_id) do
|
||||
%Activity{} = preloaded -> add_to_index(preloaded)
|
||||
_ -> :ok
|
||||
end
|
||||
end
|
||||
|
||||
@spec remove_from_index(Object.t()) :: :ok | :error
|
||||
def remove_from_index(%Pleroma.Object{id: object_id}) do
|
||||
case SearchIndexingWorker.enqueue("remove_from_index", %{"object" => object_id}) do
|
||||
|
@ -36,6 +43,6 @@ defmodule Pleroma.Search do
|
|||
search_module.healthcheck_endpoints
|
||||
end
|
||||
|
||||
defp indexable?(%Activity{object: %Object{}, data: %{"type" => "Create"}}), do: true
|
||||
defp indexable?(%Activity{data: %{"type" => "Create"}}), do: true
|
||||
defp indexable?(_), do: false
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue