diff options
author | lain <lain@soykaf.club> | 2020-05-05 15:08:41 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-05-05 15:08:41 +0200 |
commit | a3071f023166cb5364ce56e3666d5a77baa16434 (patch) | |
tree | 8b9cdeba411e97c2f9d320eb230ca34017c38b79 /lib/pleroma/web/common_api | |
parent | f1da8882f971f932b65f655b6457759387dafe51 (diff) | |
download | pleroma-a3071f023166cb5364ce56e3666d5a77baa16434.tar.gz |
Undoing: Move undoing likes to the pipeline everywhere.
Diffstat (limited to 'lib/pleroma/web/common_api')
-rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index f9db97d24..a670ea5bc 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -166,9 +166,12 @@ defmodule Pleroma.Web.CommonAPI do def unfavorite(id, user) do with {_, %Activity{data: %{"type" => "Create"}} = activity} <- - {:find_activity, Activity.get_by_id(id)} do - object = Object.normalize(activity) - ActivityPub.unlike(user, object) + {:find_activity, Activity.get_by_id(id)}, + %Object{} = note <- Object.normalize(activity, false), + %Activity{} = like <- Utils.get_existing_like(user.ap_id, note), + {:ok, undo, _} <- Builder.undo(user, like), + {:ok, activity, _} <- Pipeline.common_pipeline(undo, local: false) do + {:ok, activity} else {:find_activity, _} -> {:error, :not_found} _ -> {:error, dgettext("errors", "Could not unfavorite")} |