aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/admin_api
diff options
context:
space:
mode:
authorMaxim Filippov <colixer@gmail.com>2019-11-05 11:36:47 +1000
committerMaxim Filippov <colixer@gmail.com>2019-11-05 11:36:47 +1000
commit2cbfa256fd911b66a28c78008d1d622bfdb5d345 (patch)
treefb4217abd5bd1edc85f61e1b37858da1c35cd098 /lib/pleroma/web/admin_api
parentab5c8ec9fac8045cd5a3f25526f302bc9249e1bf (diff)
parentfee127696308dbec9cff6b2a9b399cf2877cf445 (diff)
downloadpleroma-2cbfa256fd911b66a28c78008d1d622bfdb5d345.tar.gz
Merge branch 'develop' into feature/multiple-users-force-password-reset
Diffstat (limited to 'lib/pleroma/web/admin_api')
-rw-r--r--lib/pleroma/web/admin_api/admin_api_controller.ex12
-rw-r--r--lib/pleroma/web/admin_api/report.ex5
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex
index b08011b4c..30fc01755 100644
--- a/lib/pleroma/web/admin_api/admin_api_controller.ex
+++ b/lib/pleroma/web/admin_api/admin_api_controller.ex
@@ -334,6 +334,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
}
with {:ok, users, count} <- Search.user(Map.merge(search_params, filters)),
+ {:ok, users, count} <- filter_relay_user(users, count),
do:
conn
|> json(
@@ -345,6 +346,17 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
)
end
+ defp filter_relay_user(users, count) do
+ filtered_users = Enum.reject(users, &relay_user?/1)
+ count = if Enum.any?(users, &relay_user?/1), do: length(filtered_users), else: count
+
+ {:ok, filtered_users, count}
+ end
+
+ defp relay_user?(user) do
+ user.ap_id == Relay.relay_ap_id()
+ end
+
@filters ~w(local external active deactivated is_admin is_moderator)
@spec maybe_parse_filters(String.t()) :: %{required(String.t()) => true} | %{}
diff --git a/lib/pleroma/web/admin_api/report.ex b/lib/pleroma/web/admin_api/report.ex
index c751dc2be..9c3468570 100644
--- a/lib/pleroma/web/admin_api/report.ex
+++ b/lib/pleroma/web/admin_api/report.ex
@@ -13,8 +13,9 @@ defmodule Pleroma.Web.AdminAPI.Report do
account = User.get_cached_by_ap_id(account_ap_id)
statuses =
- Enum.map(status_ap_ids, fn ap_id ->
- Activity.get_by_ap_id_with_object(ap_id)
+ Enum.map(status_ap_ids, fn
+ act when is_map(act) -> Activity.get_by_ap_id_with_object(act["id"])
+ act when is_binary(act) -> Activity.get_by_ap_id_with_object(act)
end)
%{report: report, user: user, account: account, statuses: statuses}