diff options
author | feld <feld@feld.me> | 2020-12-31 16:04:42 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2020-12-31 16:04:42 +0000 |
commit | 70e8ef2c46c1d8679fb4dafbdc743207a16b3273 (patch) | |
tree | a7d1c49822a58fe9217d90d228a6ce580fa6e362 /lib | |
parent | 38924166eb3228deb71a2e23f1e8fd3255c6bd85 (diff) | |
parent | 2aa60e7592104553fb5c330e8aafeaf4a21f1910 (diff) | |
download | pleroma-70e8ef2c46c1d8679fb4dafbdc743207a16b3273.tar.gz |
Merge branch 'fix/adminapi-user-status-pagination' into 'develop'
Support pagination in AdminAPI for user statuses
See merge request pleroma/pleroma!3226
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 8 | ||||
-rw-r--r-- | lib/pleroma/web/admin_api/controllers/admin_api_controller.ex | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 5059bff03..15f298bb8 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -603,12 +603,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do |> Map.put(:muting_user, reading_user) end + pagination_type = + cond do + !Map.has_key?(params, :offset) -> :keyset + true -> :offset + end + %{ godmode: params[:godmode], reading_user: reading_user } |> user_activities_recipients() - |> fetch_activities(params) + |> fetch_activities(params, pagination_type) |> Enum.reverse() end diff --git a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex index 75525104f..6ef8d6061 100644 --- a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex @@ -103,11 +103,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do godmode = params["godmode"] == "true" || params["godmode"] == true with %User{} = user <- User.get_cached_by_nickname_or_id(nickname, for: admin) do - {_, page_size} = page_params(params) + {page, page_size} = page_params(params) activities = ActivityPub.fetch_user_activities(user, nil, %{ limit: page_size, + offset: (page - 1) * page_size, godmode: godmode, exclude_reblogs: not with_reblogs }) |