diff options
author | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2018-08-01 03:24:39 +0200 |
---|---|---|
committer | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2018-08-21 18:24:06 +0200 |
commit | ef4f982e2c6447733679f3e490c2666c7a795a5f (patch) | |
tree | 8e7e21c88d27ae893aaef1bad359dde48b3083da /lib | |
parent | c1b8a6a73bfd5f30d5a290b9700ed4d41064ce77 (diff) | |
download | pleroma-ef4f982e2c6447733679f3e490c2666c7a795a5f.tar.gz |
Pleroma.Web.ActivityPub.Transmogrifier: Fix actor being a list of objects (Peertube)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index e5fb6e033..39e2bb8a9 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -18,18 +18,18 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do end def get_actor(%{"actor" => actor}) when is_list(actor) do - Enum.at(actor, 0) + if is_binary(Enum.at(actor, 0)) do + Enum.at(actor, 0) + else + Enum.find(actor, fn %{"type" => type} -> type == "Person" end) + |> Map.get("id") + end end def get_actor(%{"actor" => actor}) when is_map(actor) do actor["id"] end - def get_actor(%{"actor" => actor_list}) do - Enum.find(actor_list, fn %{"type" => type} -> type == "Person" end) - |> Map.get("id") - end - @doc """ Modifies an incoming AP object (mastodon format) to our internal format. """ |