Pleroma.Web.ActivityPub.Transmogrifier: Fix actor being a list of objects (Peertube)

This commit is contained in:
Haelwenn (lanodan) Monnier 2018-08-01 03:24:39 +02:00
parent c1b8a6a73b
commit ef4f982e2c
No known key found for this signature in database
GPG Key ID: D5B7A8E43C997DEE

View File

@ -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.
"""