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
82b57eba
Verified
Commit
82b57eba
authored
Sep 27, 2018
by
Haelwenn
Browse files
[Pleroma.Web.TwitterAPI.UserView]: Add mastodon-fields in "fields"
parent
3de12c19
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/twitter_api/views/user_view.ex
View file @
82b57eba
...
...
@@ -37,6 +37,13 @@ def render("user.json", %{user: user = %User{}} = assigns) do
{
String
.
trim
(
name
,
":"
),
url
}
end
)
# ``fields`` is an array of mastodon profile field, containing ``{"name": "…", "value": "…"}``.
# For example: [{"name": "Pronoun", "value": "she/her"}, …]
fields
=
(
user
.
info
[
"source_data"
][
"attachment"
]
||
[])
|>
Enum
.
filter
(
fn
%{
"type"
=>
t
}
->
t
==
"PropertyValue"
end
)
|>
Enum
.
map
(
fn
fields
->
Map
.
take
(
fields
,
[
"name"
,
"value"
])
end
)
data
=
%{
"created_at"
=>
user
.
inserted_at
|>
Utils
.
format_naive_asctime
(),
"description"
=>
HTML
.
strip_tags
((
user
.
bio
||
""
)
|>
String
.
replace
(
"<br>"
,
"
\n
"
)),
...
...
@@ -65,7 +72,8 @@ def render("user.json", %{user: user = %User{}} = assigns) do
"is_local"
=>
user
.
local
,
"locked"
=>
!!user
.
info
[
"locked"
],
"default_scope"
=>
user
.
info
[
"default_scope"
]
||
"public"
,
"no_rich_text"
=>
user
.
info
[
"no_rich_text"
]
||
false
"no_rich_text"
=>
user
.
info
[
"no_rich_text"
]
||
false
,
"fields"
=>
fields
}
if
assigns
[
:token
]
do
...
...
test/web/twitter_api/views/user_view_test.exs
View file @
82b57eba
...
...
@@ -88,7 +88,8 @@ test "A user" do
"is_local"
=>
true
,
"locked"
=>
false
,
"default_scope"
=>
"public"
,
"no_rich_text"
=>
false
"no_rich_text"
=>
false
,
"fields"
=>
[]
}
assert
represented
==
UserView
.
render
(
"show.json"
,
%{
user:
user
})
...
...
@@ -128,7 +129,8 @@ test "A user for a given other follower", %{user: user} do
"is_local"
=>
true
,
"locked"
=>
false
,
"default_scope"
=>
"public"
,
"no_rich_text"
=>
false
"no_rich_text"
=>
false
,
"fields"
=>
[]
}
assert
represented
==
UserView
.
render
(
"show.json"
,
%{
user:
user
,
for:
follower
})
...
...
@@ -169,7 +171,8 @@ test "A user that follows you", %{user: user} do
"is_local"
=>
true
,
"locked"
=>
false
,
"default_scope"
=>
"public"
,
"no_rich_text"
=>
false
"no_rich_text"
=>
false
,
"fields"
=>
[]
}
assert
represented
==
UserView
.
render
(
"show.json"
,
%{
user:
follower
,
for:
user
})
...
...
@@ -217,7 +220,8 @@ test "A blocked user for the blocker" do
"is_local"
=>
true
,
"locked"
=>
false
,
"default_scope"
=>
"public"
,
"no_rich_text"
=>
false
"no_rich_text"
=>
false
,
"fields"
=>
[]
}
blocker
=
Repo
.
get
(
User
,
blocker
.
id
)
...
...
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