def common_pipeline(object, meta) do
case Repo.transaction(fn -> do_common_pipeline(object, meta) end, Utils.query_timeout()) do
{:ok, {:ok, activity, meta}} ->
- side_effects().handle_after_transaction(activity, meta)
+ side_effects().handle_after_transaction(meta)
+ side_effects().handle_after_transaction(activity)
{:ok, activity, meta}
{:ok, value} ->
end
@impl true
- def handle_after_transaction(activity, meta) do
- Pleroma.Elasticsearch.put_by_id(activity.id)
+ @impl true
+ def handle_after_transaction(%{data: %{"type" => "Create"}} = activity) do
+ Elasticsearch.put_by_id(activity.id)
+ end
+ def handle_after_transaction(meta) do
meta
|> send_notifications()
|> send_streamables()
end
+
+ def handle_after_transaction(_), do: :ok
end