diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2019-11-14 16:39:45 +0700 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2019-11-14 16:39:45 +0700 |
commit | 3c0abfca53751624ebd6ea7174ee880d9e7b29e7 (patch) | |
tree | ba16c5af44532a9b76640f1f48651c90d1be8a6f /lib/pleroma/web/common_api | |
parent | 768c1a5de172151beb34e6dda13d4fb05e05ed87 (diff) | |
parent | 6085c71bd17e2b676e0820bf3fd93f81a1902ac3 (diff) | |
download | pleroma-3c0abfca53751624ebd6ea7174ee880d9e7b29e7.tar.gz |
Merge remote-tracking branch 'upstream/develop' into feature/move-activity
Diffstat (limited to 'lib/pleroma/web/common_api')
-rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index e57345621..f1937b1ec 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -120,6 +120,25 @@ defmodule Pleroma.Web.CommonAPI do end end + def react_with_emoji(id, user, emoji) do + with %Activity{} = activity <- Activity.get_by_id(id), + object <- Object.normalize(activity) do + ActivityPub.react_with_emoji(user, object, emoji) + else + _ -> + {:error, dgettext("errors", "Could not add reaction emoji")} + end + end + + def unreact_with_emoji(id, user, emoji) do + with %Activity{} = reaction_activity <- Utils.get_latest_reaction(id, user, emoji) do + ActivityPub.unreact_with_emoji(user, reaction_activity.data["id"]) + else + _ -> + {:error, dgettext("errors", "Could not remove reaction emoji")} + end + end + def vote(user, %{data: %{"type" => "Question"}} = object, choices) do with :ok <- validate_not_author(object, user), :ok <- validate_existing_votes(user, object), |