diff options
author | lain <lain@soykaf.club> | 2019-08-26 16:47:31 -0500 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-08-26 16:47:31 -0500 |
commit | a0b21c89284304bea90f2774f17d5b2b7b3c1359 (patch) | |
tree | 5a4b3dda80bd33f94415f47bdea00b2ac2738988 /lib | |
parent | 6e1ec4c5da6da4bd301080a8c35f8483d89e095f (diff) | |
download | pleroma-a0b21c89284304bea90f2774f17d5b2b7b3c1359.tar.gz |
Transmogrifier: Handle incoming emoji reactions.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 36340a3a1..9132df8cb 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -573,6 +573,27 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do end def handle_incoming( + %{ + "type" => "EmojiReaction", + "object" => object_id, + "actor" => _actor, + "id" => id, + "content" => emoji + } = data, + _options + ) do + with actor <- Containment.get_actor(data), + {:ok, %User{} = actor} <- User.get_or_fetch_by_ap_id(actor), + {:ok, object} <- get_obj_helper(object_id), + {:ok, activity, _object} <- + ActivityPub.react_with_emoji(actor, object, emoji, activity_id: id, local: false) do + {:ok, activity} + else + _e -> :error + end + end + + def handle_incoming( %{"type" => "Announce", "object" => object_id, "actor" => _actor, "id" => id} = data, _options ) do |