X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Frepresenters%2Fobject_representer.ex;h=6aa794a59d5d219f13f8e94d5fa68453a727e258;hb=8eed5938d5fb6cac9075d2b75b69d2c93316db01;hp=57ab24caa4f2632b472602063402d17182af7b7c;hpb=42c90855ba826a93cada909f105307c95dc0e130;p=akkoma diff --git a/lib/pleroma/web/twitter_api/representers/object_representer.ex b/lib/pleroma/web/twitter_api/representers/object_representer.ex index 57ab24caa..6aa794a59 100644 --- a/lib/pleroma/web/twitter_api/representers/object_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/object_representer.ex @@ -2,14 +2,34 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ObjectRepresenter do use Pleroma.Web.TwitterAPI.Representers.BaseRepresenter alias Pleroma.Object - def to_map(%Object{} = object, _opts) do + def to_map(%Object{data: %{"url" => [url | _]}} = object, _opts) do data = object.data - url = List.first(data["url"]) + + %{ + url: url["href"] |> Pleroma.Web.MediaProxy.url(), + mimetype: url["mediaType"] || url["mimeType"], + id: data["uuid"], + oembed: false, + description: data["name"] + } + end + + def to_map(%Object{data: %{"url" => url} = data}, _opts) when is_binary(url) do %{ - url: url["href"], - mimetype: url["mediaType"], - id: object.id, - oembed: false + url: url |> Pleroma.Web.MediaProxy.url(), + mimetype: data["mediaType"] || url["mimeType"], + id: data["uuid"], + oembed: false, + description: data["name"] } end + + def to_map(%Object{}, _opts) do + %{} + end + + # If we only get the naked data, wrap in an object + def to_map(%{} = data, opts) do + to_map(%Object{data: data}, opts) + end end