diff options
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 19 |
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" |