From 4c5f75f4e96b8ee8ab1e37b03d46f4e7ead870ac Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 30 Dec 2020 14:36:04 -0600 Subject: Support pagination in AdminAPI for user statuses --- lib/pleroma/web/admin_api/controllers/admin_api_controller.ex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib') 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..9086c4928 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, %{ + ActivityPub.fetch_statuses(user, %{ limit: page_size, + offset: (page - 1) * page_size, godmode: godmode, exclude_reblogs: not with_reblogs }) -- cgit v1.2.3 From 085d4e6cfcdecd967cbe6716d06d1ace0108a11a Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 30 Dec 2020 16:10:10 -0600 Subject: Continue to use ActivityPub.fetch_user_activities/3, make it pass :offset --- lib/pleroma/web/activity_pub/activity_pub.ex | 2 +- lib/pleroma/web/admin_api/controllers/admin_api_controller.ex | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 5059bff03..f82f34de5 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -608,7 +608,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do reading_user: reading_user } |> user_activities_recipients() - |> fetch_activities(params) + |> fetch_activities(params, :offset) |> 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 9086c4928..6ef8d6061 100644 --- a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex @@ -106,7 +106,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do {page, page_size} = page_params(params) activities = - ActivityPub.fetch_statuses(user, %{ + ActivityPub.fetch_user_activities(user, nil, %{ limit: page_size, offset: (page - 1) * page_size, godmode: godmode, -- cgit v1.2.3 From 2597b028f797c74eb16e7cd5bfc251dfe03ad934 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 30 Dec 2020 16:37:04 -0600 Subject: Make pagination type conditional --- lib/pleroma/web/activity_pub/activity_pub.ex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index f82f34de5..68494f047 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 + is_nil(params[:offset]) -> :keyset + true -> :offset + end + %{ godmode: params[:godmode], reading_user: reading_user } |> user_activities_recipients() - |> fetch_activities(params, :offset) + |> fetch_activities(params, pagination_type) |> Enum.reverse() end -- cgit v1.2.3 From 2aa60e7592104553fb5c330e8aafeaf4a21f1910 Mon Sep 17 00:00:00 2001 From: feld Date: Thu, 31 Dec 2020 15:55:44 +0000 Subject: Apply 1 suggestion(s) to 1 file(s) --- lib/pleroma/web/activity_pub/activity_pub.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 68494f047..15f298bb8 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -605,7 +605,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do pagination_type = cond do - is_nil(params[:offset]) -> :keyset + !Map.has_key?(params, :offset) -> :keyset true -> :offset end -- cgit v1.2.3