diff options
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} | %{} | 
