|
|
|
@ -12,23 +12,21 @@ defmodule Pleroma.Web.ActivityPub.UserView do
|
|
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
|
|
|
|
alias Pleroma.Web.ActivityPub.Transmogrifier
|
|
|
|
|
alias Pleroma.Web.ActivityPub.Utils
|
|
|
|
|
alias Pleroma.Web.Router.Helpers
|
|
|
|
|
alias Pleroma.Web.Endpoint
|
|
|
|
|
|
|
|
|
|
import Ecto.Query
|
|
|
|
|
|
|
|
|
|
def render("endpoints.json", %{user: %User{local: true} = _user}) do
|
|
|
|
|
def render("endpoints.json", %{user: %User{nickname: _nickname, local: true} = _user}) do
|
|
|
|
|
%{
|
|
|
|
|
"oauthAuthorizationEndpoint" => "#{Pleroma.Web.Endpoint.url()}/oauth/authorize",
|
|
|
|
|
"oauthRegistrationEndpoint" => "#{Pleroma.Web.Endpoint.url()}/api/v1/apps",
|
|
|
|
|
"oauthTokenEndpoint" => "#{Pleroma.Web.Endpoint.url()}/oauth/token"
|
|
|
|
|
"oauthAuthorizationEndpoint" => Helpers.o_auth_url(Endpoint, :authorize),
|
|
|
|
|
"oauthRegistrationEndpoint" => Helpers.mastodon_api_url(Endpoint, :create_app),
|
|
|
|
|
"oauthTokenEndpoint" => Helpers.o_auth_url(Endpoint, :token_exchange),
|
|
|
|
|
"sharedInbox" => Helpers.activity_pub_url(Endpoint, :inbox)
|
|
|
|
|
}
|
|
|
|
|
|> Map.merge(render("endpoints.json", %{user: nil}))
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def render("endpoints.json", _) do
|
|
|
|
|
%{
|
|
|
|
|
"sharedInbox" => "#{Pleroma.Web.Endpoint.url()}/inbox"
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
def render("endpoints.json", _), do: %{}
|
|
|
|
|
|
|
|
|
|
# the instance itself is not a Person, but instead an Application
|
|
|
|
|
def render("user.json", %{user: %{nickname: nil} = user}) do
|
|
|
|
|