Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
[akkoma] / lib / pleroma / web / activity_pub / side_effects.ex
index 594f327009f828cf43da74349724202434b8bdeb..ebe3071b08fc55ffe48dd5225ed950a517654489 100644 (file)
@@ -17,10 +17,17 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do
   # - Add like to object
   # - Set up notification
   def handle(%{data: %{"type" => "Like"}} = object, meta) do
-    liked_object = Object.get_by_ap_id(object.data["object"])
-    Utils.add_like_to_object(object, liked_object)
-    Notification.create_notifications(object)
-    {:ok, object, meta}
+    {:ok, result} =
+      Pleroma.Repo.transaction(fn ->
+        liked_object = Object.get_by_ap_id(object.data["object"])
+        Utils.add_like_to_object(object, liked_object)
+
+        Notification.create_notifications(object)
+
+        {:ok, object, meta}
+      end)
+
+    result
   end
 
   def handle(%{data: %{"type" => "Create", "object" => object_id}} = activity, meta) do
@@ -28,6 +35,8 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do
 
     {:ok, _object} = handle_object_creation(object)
 
+    Notification.create_notifications(activity)
+
     {:ok, activity, meta}
   end