transmogrifier: Use a cond, add proactive support for arrays

This commit is contained in:
Haelwenn (lanodan) Monnier 2018-09-25 17:12:29 +02:00
parent 0aac72f1d3
commit 22927f3a34
No known key found for this signature in database
GPG key ID: D5B7A8E43C997DEE

View file

@ -99,12 +99,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
def fix_in_reply_to(%{"inReplyTo" => in_reply_to} = object)
when not is_nil(in_reply_to) do
in_reply_to_id =
if is_bitstring(in_reply_to) do
in_reply_to
else
if is_map(in_reply_to) && in_reply_to["id"] do
in_reply_to["id"]
end
cond do
is_bitstring(in_reply_to) -> in_reply_to
is_map(in_reply_to) && is_bitstring(in_reply_to["id"]) -> in_reply_to["id"]
is_list(in_reply_to) && is_bitstring(Enum.at(in_reply_to, 0)) -> Enum.at(in_reply_to, 0)
# Maybe I should output an error too?
true -> ""
end
case ActivityPub.fetch_object_from_id(in_reply_to_id) do