diff options
author | Maxim Filippov <colixer@gmail.com> | 2019-10-31 02:26:02 +0300 |
---|---|---|
committer | Maxim Filippov <colixer@gmail.com> | 2019-10-31 02:26:02 +0300 |
commit | 6f9d3d30faece1432068a421fd74d68d93e1d313 (patch) | |
tree | 058523ddcba32d0b86ead946128bd1461cc8e9ea /lib | |
parent | 59a149c69a9a6726c7687ba233564936e47fc199 (diff) | |
download | pleroma-6f9d3d30faece1432068a421fd74d68d93e1d313.tar.gz |
AdminAPI: Omit relay user from users list
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/relay.ex | 6 | ||||
-rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 9 |
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} | %{} |