aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/admin_api/admin_api_controller.ex
diff options
context:
space:
mode:
authorkaniini <ariadne@dereferenced.org>2019-11-03 16:19:27 +0000
committerkaniini <ariadne@dereferenced.org>2019-11-03 16:19:27 +0000
commit74135e13188a573313a40f147fe76a9a31b909d4 (patch)
tree0b509294e2198344a91938fb92fabc621ef67abf /lib/pleroma/web/admin_api/admin_api_controller.ex
parent61bcd4595fa61bd79a7bcb553968df9fc8306499 (diff)
parentd75934b0d024296654a7eec74abcd65832b6b96b (diff)
downloadpleroma-74135e13188a573313a40f147fe76a9a31b909d4.tar.gz
Merge branch 'feature/omit-relay-user' into 'develop'
AdminAPI: Omit relay user from users list Closes #1349 See merge request pleroma/pleroma!1924
Diffstat (limited to 'lib/pleroma/web/admin_api/admin_api_controller.ex')
-rw-r--r--lib/pleroma/web/admin_api/admin_api_controller.ex12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex
index 7ffbb23e7..b47618bde 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} | %{}