Add unrepeat functionality
[akkoma] / lib / pleroma / web / common_api / common_api.ex
index 21225c3b7d8a95b908b2820a795433dec25fdf0a..8889b9b4206c0c5c733aaccfb36d0f26cb2b5f6d 100644 (file)
@@ -24,6 +24,16 @@ defmodule Pleroma.Web.CommonAPI do
     end
   end
 
+  def unrepeat(id_or_ap_id, user) do
+    with %Activity{} = activity <- get_by_id_or_ap_id(id_or_ap_id),
+         object <- Object.get_by_ap_id(activity.data["object"]["id"]) do
+      ActivityPub.unannounce(user, object)
+    else
+      _ ->
+        {:error, "Could not unrepeat"}
+    end
+  end
+
   def favorite(id_or_ap_id, user) do
     with %Activity{} = activity <- get_by_id_or_ap_id(id_or_ap_id),
          false <- activity.data["actor"] == user.ap_id,