projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TwitterAPI: Add follower/following pagination.
[akkoma]
/
lib
/
pleroma
/
web
/
twitter_api
/
twitter_api_controller.ex
diff --git
a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index c11824afc6a5e2cd8cc0f9b8c82161cfba738dc9..0653acebec73999ca7af55045cb3799b69b57399 100644
(file)
--- a/
lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/
lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@
-1,5
+1,5
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-201
8
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-201
9
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.TwitterAPI.Controller do
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.TwitterAPI.Controller do
@@
-472,8
+472,10
@@
defmodule Pleroma.Web.TwitterAPI.Controller do
end
def followers(%{assigns: %{user: for_user}} = conn, params) do
end
def followers(%{assigns: %{user: for_user}} = conn, params) do
+ page = params["page"] || 1
+
with {:ok, user} <- TwitterAPI.get_user(for_user, params),
with {:ok, user} <- TwitterAPI.get_user(for_user, params),
- {:ok, followers} <- User.get_followers(user) do
+ {:ok, followers} <- User.get_followers(user
, page
) do
followers =
cond do
for_user && user.id == for_user.id -> followers
followers =
cond do
for_user && user.id == for_user.id -> followers
@@
-490,8
+492,10
@@
defmodule Pleroma.Web.TwitterAPI.Controller do
end
def friends(%{assigns: %{user: for_user}} = conn, params) do
end
def friends(%{assigns: %{user: for_user}} = conn, params) do
+ page = params["page"] || 1
+
with {:ok, user} <- TwitterAPI.get_user(conn.assigns[:user], params),
with {:ok, user} <- TwitterAPI.get_user(conn.assigns[:user], params),
- {:ok, friends} <- User.get_friends(user) do
+ {:ok, friends} <- User.get_friends(user
, page
) do
friends =
cond do
for_user && user.id == for_user.id -> friends
friends =
cond do
for_user && user.id == for_user.id -> friends
@@
-670,7
+674,7
@@
defmodule Pleroma.Web.TwitterAPI.Controller do
json_reply(conn, 403, json)
end
json_reply(conn, 403, json)
end
- def only_if_public_instance(
conn = %{conn: %{assigns: %{user: _user}}}
, _), do: conn
+ def only_if_public_instance(
%{assigns: %{user: %User{}}} = conn
, _), do: conn
def only_if_public_instance(conn, _) do
if Keyword.get(Application.get_env(:pleroma, :instance), :public) do
def only_if_public_instance(conn, _) do
if Keyword.get(Application.get_env(:pleroma, :instance), :public) do