aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r--lib/pleroma/user.ex19
1 files changed, 6 insertions, 13 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index a6f51f0be..921bdd93a 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1560,20 +1560,13 @@ defmodule Pleroma.User do
Pipeline.common_pipeline(delete_data, local: true)
end
- defp delete_activity(%{data: %{"type" => "Like"}} = activity, _user) do
- object = Object.normalize(activity)
+ defp delete_activity(%{data: %{"type" => type}} = activity) when type in ["Like", "Announce"] do
+ actor =
+ activity.actor
+ |> get_cached_by_ap_id()
- activity.actor
- |> get_cached_by_ap_id()
- |> ActivityPub.unlike(object)
- end
-
- defp delete_activity(%{data: %{"type" => "Announce"}} = activity, _user) do
- object = Object.normalize(activity)
-
- activity.actor
- |> get_cached_by_ap_id()
- |> ActivityPub.unannounce(object)
+ {:ok, undo, _} = Builder.undo(actor, activity)
+ Pipeline.common_pipeline(undo, local: true)
end
defp delete_activity(_activity, _user), do: "Doing nothing"