[#1501] Made user feed contain public and unlisted activities.
[akkoma] / lib / pleroma / web / activity_pub / side_effects.ex
index bfc2ab845d7aac444c7ce8b8a563e768a6f3cfd9..7eae0c52ccf906cff1b00ab6b14a0255e52f3d9c 100644 (file)
@@ -27,6 +27,21 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do
     {:ok, object, meta}
   end
 
+  # Tasks this handles:
+  # - Add announce to object
+  # - Set up notification
+  # - Stream out the announce
+  def handle(%{data: %{"type" => "Announce"}} = object, meta) do
+    announced_object = Object.get_by_ap_id(object.data["object"])
+
+    Utils.add_announce_to_object(object, announced_object)
+
+    Notification.create_notifications(object)
+    ActivityPub.stream_out(object)
+
+    {:ok, object, meta}
+  end
+
   def handle(%{data: %{"type" => "Undo", "object" => undone_object}} = object, meta) do
     with undone_object <- Activity.get_by_ap_id(undone_object),
          :ok <- handle_undoing(undone_object) do