%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["inReplyTo"] && object.data["type"] != "Answer" do
+ if in_reply_to = object.data["type"] != "Answer" && object.data["inReplyTo"] do
Object.increase_replies_count(in_reply_to)
end
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()