Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
ce31f3a9
Commit
ce31f3a9
authored
Feb 11, 2018
by
lain
Browse files
Twitter Representers: Handle Mastodon attachments.
parent
ae1ec858
Changes
2
Show whitespace changes
Inline
Side-by-side
lib/pleroma/web/twitter_api/representers/object_representer.ex
View file @
ce31f3a9
...
...
@@ -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 @@ def to_map(%Object{} = object, _opts) 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
)
...
...
test/web/twitter_api/representers/object_representer_test.exs
View file @
ce31f3a9
...
...
@@ -28,4 +28,24 @@ test "represent an image attachment" do
assert
expected_object
==
ObjectRepresenter
.
to_map
(
object
)
end
test
"represents mastodon-style attachments"
do
object
=
%
Object
{
id:
nil
,
data:
%{
"mediaType"
=>
"image/png"
,
"name"
=>
"blabla"
,
"type"
=>
"Document"
,
"url"
=>
"http://mastodon.example.org/system/media_attachments/files/000/000/001/original/8619f31c6edec470.png"
}
}
expected_object
=
%{
url:
"http://mastodon.example.org/system/media_attachments/files/000/000/001/original/8619f31c6edec470.png"
,
mimetype:
"image/png"
,
oembed:
false
,
id:
nil
}
assert
expected_object
==
ObjectRepresenter
.
to_map
(
object
)
end
end
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment