diff options
author | lain <lain@soykaf.club> | 2018-02-11 17:21:06 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-02-11 17:21:06 +0100 |
commit | ce31f3a922cab93d13c50a2fcec0f383631a13d0 (patch) | |
tree | 346c99008081088d176d2a2a95a4d43221f9c358 /lib | |
parent | ae1ec858f442aba7c2b2aea12dd60585517be17a (diff) | |
download | pleroma-ce31f3a922cab93d13c50a2fcec0f383631a13d0.tar.gz |
Twitter Representers: Handle Mastodon attachments.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/twitter_api/representers/object_representer.ex | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/pleroma/web/twitter_api/representers/object_representer.ex b/lib/pleroma/web/twitter_api/representers/object_representer.ex index 69eaeb36c..e2d653ba8 100644 --- a/lib/pleroma/web/twitter_api/representers/object_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/object_representer.ex @@ -2,9 +2,8 @@ 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"], @@ -13,6 +12,19 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ObjectRepresenter do } end + def to_map(%Object{data: %{"url" => url} = data}, _opts) when is_binary(url) do + %{ + url: url |> Pleroma.Web.MediaProxy.url(), + mimetype: data["mediaType"], + id: data["uuid"], + oembed: false + } + 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) |