Skip to content
GitLab
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
38e15930
Commit
38e15930
authored
Feb 16, 2019
by
lain
Browse files
Add option to return all friends in twitter api.
Mainly useful for user export.
parent
1ce1b7b5
Pipeline
#7770
passed with stages
in 4 minutes and 50 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/twitter_api/twitter_api_controller.ex
View file @
38e15930
...
...
@@ -524,6 +524,9 @@ def followers(%{assigns: %{user: for_user}} = conn, params) do
def
friends
(%{
assigns:
%{
user:
for_user
}}
=
conn
,
params
)
do
{
:ok
,
page
}
=
Ecto
.
Type
.
cast
(
:integer
,
params
[
"page"
]
||
1
)
{
:ok
,
export
}
=
Ecto
.
Type
.
cast
(
:boolean
,
params
[
"all"
]
||
false
)
page
=
if
export
,
do
:
nil
,
else
:
page
with
{
:ok
,
user
}
<-
TwitterAPI
.
get_user
(
conn
.
assigns
[
:user
],
params
),
{
:ok
,
friends
}
<-
User
.
get_friends
(
user
,
page
)
do
...
...
test/web/twitter_api/twitter_api_controller_test.exs
View file @
38e15930
...
...
@@ -1218,7 +1218,7 @@ test "it returns the logged in user's friends", %{conn: conn} do
assert
Enum
.
sort
(
expected
)
==
Enum
.
sort
(
result
)
end
test
"it returns 20 friends per page"
,
%{
conn:
conn
}
do
test
"it returns 20 friends per page
, except if 'export' is set to true
"
,
%{
conn:
conn
}
do
user
=
insert
(
:user
)
followeds
=
insert_list
(
21
,
:user
)
...
...
@@ -1242,6 +1242,14 @@ test "it returns 20 friends per page", %{conn: conn} do
result
=
json_response
(
res_conn
,
200
)
assert
length
(
result
)
==
1
res_conn
=
conn
|>
assign
(
:user
,
user
)
|>
get
(
"/api/statuses/friends"
,
%{
all:
true
})
result
=
json_response
(
res_conn
,
200
)
assert
length
(
result
)
==
21
end
test
"it returns a given user's friends with user_id"
,
%{
conn:
conn
}
do
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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