projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'dm-optimizations' into 'develop'
[akkoma]
/
lib
/
pleroma
/
web
/
twitter_api
/
representers
/
object_representer.ex
diff --git
a/lib/pleroma/web/twitter_api/representers/object_representer.ex
b/lib/pleroma/web/twitter_api/representers/object_representer.ex
index 57ab24caa4f2632b472602063402d17182af7b7c..47130ba0686993fae90f86343e643c25224f08d8 100644
(file)
--- a/
lib/pleroma/web/twitter_api/representers/object_representer.ex
+++ b/
lib/pleroma/web/twitter_api/representers/object_representer.ex
@@
-1,15
+1,39
@@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Web.TwitterAPI.Representers.ObjectRepresenter do
use Pleroma.Web.TwitterAPI.Representers.BaseRepresenter
alias Pleroma.Object
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
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"] || data["mimeType"],
+ id: data["uuid"],
+ oembed: false,
+ description: data["name"]
}
end
}
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
end