diff options
author | rinpatch <rinpatch@sdf.org> | 2020-05-07 14:28:10 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2020-05-07 14:28:10 +0000 |
commit | bef08b85e5e1e25b65851938d6152bf0c170af03 (patch) | |
tree | c40fae753b4791bf1feaa98b33822221db8f2a59 /lib/pleroma/user.ex | |
parent | 516ff945cedbfae774f4c8272264a4cf0e453130 (diff) | |
parent | d11eea62b139ce16d7dffbd574947b2550df238f (diff) | |
download | pleroma-bef08b85e5e1e25b65851938d6152bf0c170af03.tar.gz |
Merge branch 'feature/undo-validator-reduced' into 'develop'
Move Undo (except undo follow) to the common pipeline
See merge request pleroma/pleroma!2489
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index a6f51f0be..2a6a23fec 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1557,23 +1557,13 @@ defmodule Pleroma.User do defp delete_activity(%{data: %{"type" => "Create", "object" => object}}, user) do {:ok, delete_data, _} = Builder.delete(user, object) - Pipeline.common_pipeline(delete_data, local: true) + Pipeline.common_pipeline(delete_data, local: user.local) end - defp delete_activity(%{data: %{"type" => "Like"}} = activity, _user) do - object = Object.normalize(activity) - - 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) + defp delete_activity(%{data: %{"type" => type}} = activity, user) + when type in ["Like", "Announce"] do + {:ok, undo, _} = Builder.undo(user, activity) + Pipeline.common_pipeline(undo, local: user.local) end defp delete_activity(_activity, _user), do: "Doing nothing" |