diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub_controller.ex | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/lib/pleroma/web/activity_pub/activity_pub_controller.ex b/lib/pleroma/web/activity_pub/activity_pub_controller.ex index e2af4ad1a..dc9ef066d 100644 --- a/lib/pleroma/web/activity_pub/activity_pub_controller.ex +++ b/lib/pleroma/web/activity_pub/activity_pub_controller.ex @@ -206,9 +206,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do      json(conn, dgettext("errors", "error"))    end -  def relay(conn, _params) do -    with %User{} = user <- Relay.get_actor(), -         {:ok, user} <- User.ensure_keys_present(user) do +  defp represent_service_actor(%User{} = user, conn) do +    with {:ok, user} <- User.ensure_keys_present(user) do        conn        |> put_resp_header("content-type", "application/activity+json")        |> json(UserView.render("user.json", %{user: user})) @@ -217,6 +216,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do      end    end +  defp represent_service_actor(nil, _), do: {:error, :not_found} + +  def relay(conn, _params) do +    Relay.get_actor() +    |> represent_service_actor(conn) +  end +    def whoami(%{assigns: %{user: %User{} = user}} = conn, _params) do      conn      |> put_resp_header("content-type", "application/activity+json") | 
