Merge branch 'feature/omit-relay-user' into 'develop'
AdminAPI: Omit relay user from users list Closes #1349 See merge request pleroma/pleroma!1924
This commit is contained in:
commit
74135e1318
3 changed files with 44 additions and 1 deletions
|
|
@ -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(),
|
||||
|
|
|
|||
|
|
@ -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} | %{}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue