aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMaxim Filippov <colixer@gmail.com>2019-10-31 02:26:02 +0300
committerMaxim Filippov <colixer@gmail.com>2019-10-31 02:26:02 +0300
commit6f9d3d30faece1432068a421fd74d68d93e1d313 (patch)
tree058523ddcba32d0b86ead946128bd1461cc8e9ea /lib
parent59a149c69a9a6726c7687ba233564936e47fc199 (diff)
downloadpleroma-6f9d3d30faece1432068a421fd74d68d93e1d313.tar.gz
AdminAPI: Omit relay user from users list
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/relay.ex6
-rw-r--r--lib/pleroma/web/admin_api/admin_api_controller.ex9
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/relay.ex b/lib/pleroma/web/activity_pub/relay.ex
index f90d75a8a..fc2619680 100644
--- a/lib/pleroma/web/activity_pub/relay.ex
+++ b/lib/pleroma/web/activity_pub/relay.ex
@@ -11,13 +11,17 @@ defmodule Pleroma.Web.ActivityPub.Relay do
def get_actor do
actor =
- "#{Pleroma.Web.Endpoint.url()}/relay"
+ relay_ap_id()
|> User.get_or_create_service_actor_by_ap_id()
{:ok, actor} = User.set_invisible(actor, true)
actor
end
+ def relay_ap_id do
+ "#{Pleroma.Web.Endpoint.url()}/relay"
+ end
+
@spec follow(String.t()) :: {:ok, Activity.t()} | {:error, any()}
def follow(target_instance) do
with %User{} = local_user <- get_actor(),
diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex
index 7ffbb23e7..4533d0114 100644
--- a/lib/pleroma/web/admin_api/admin_api_controller.ex
+++ b/lib/pleroma/web/admin_api/admin_api_controller.ex
@@ -333,7 +333,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
email: params["email"]
}
- with {:ok, users, count} <- Search.user(Map.merge(search_params, filters)),
+ with {:ok, users, _count} <- Search.user(Map.merge(search_params, filters)),
+ {:ok, users, count} <- filter_relay_user(users),
do:
conn
|> json(
@@ -345,6 +346,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
)
end
+ defp filter_relay_user(users) do
+ filtered_users = Enum.reject(users, &(&1.ap_id == Relay.relay_ap_id()))
+
+ {:ok, filtered_users, length(filtered_users)}
+ end
+
@filters ~w(local external active deactivated is_admin is_moderator)
@spec maybe_parse_filters(String.t()) :: %{required(String.t()) => true} | %{}