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
scope "/", Pleroma.Web.ActivityPub do
pipe_through(:activitypub)
- post("/users/:nickname/inbox", ActivityPubController, :inbox)
post("/inbox", ActivityPubController, :inbox)
+ post("/users/:nickname/inbox", ActivityPubController, :inbox)
end
scope "/.well-known", Pleroma.Web do