aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/common_api/common_api.ex
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-11-14 08:47:10 +0000
committerrinpatch <rinpatch@sdf.org>2019-11-14 08:47:10 +0000
commit6085c71bd17e2b676e0820bf3fd93f81a1902ac3 (patch)
treea92e6aaa3fd96150d54d04309558c7cd5cae7416 /lib/pleroma/web/common_api/common_api.ex
parentf74bb1d0fc123ba8616d81a80dcf5d64b25aa4ed (diff)
parent7a322713c33e8ef2fdc326f9e35d1fcbe7590c93 (diff)
downloadpleroma-6085c71bd17e2b676e0820bf3fd93f81a1902ac3.tar.gz
Merge branch 'reactions' into 'develop'
Emoji Reactions See merge request pleroma/pleroma!1662
Diffstat (limited to 'lib/pleroma/web/common_api/common_api.ex')
-rw-r--r--lib/pleroma/web/common_api/common_api.ex19
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),