X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Factivity_pub%2Fside_effects.ex;h=9b17eba953382a2d5d9c215900b4fab8d07240b7;hb=3252ed0f544bf5e1cc6d3e09bfa1a4866889ec91;hp=d55a4b340c9a189f193928add8076bbe3c3dda65;hpb=b0d2b539347f75b15bdeb38d80ff4e0d8dc9fec5;p=akkoma diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index d55a4b340..9b17eba95 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -199,6 +199,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do %User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do {:ok, notifications} = Notification.create_notifications(activity, do_send: false) {:ok, _user} = ActivityPub.increase_note_count_if_public(user, object) + {:ok, _user} = ActivityPub.update_last_status_at_if_public(user, object) if in_reply_to = object.data["type"] != "Answer" && object.data["inReplyTo"] do Object.increase_replies_count(in_reply_to) @@ -537,6 +538,24 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do end @impl true + def handle_after_transaction(%Pleroma.Activity{data: %{"type" => "Create"}} = activity) do + Pleroma.Elasticsearch.put_by_id(:activity, activity.id) + end + + def handle_after_transaction(%Pleroma.Activity{ + data: %{"type" => "Delete", "deleted_activity_id" => id} + }) do + Pleroma.Elasticsearch.delete_by_id(:activity, id) + end + + def handle_after_transaction(%Pleroma.Activity{}) do + :ok + end + + def handle_after_transaction(%Pleroma.Object{}) do + :ok + end + def handle_after_transaction(meta) do meta |> send_notifications()