activitypub: user view: use route helpers instead of hardcoded URIs
authorWilliam Pitcock <nenolod@dereferenced.org>
Wed, 13 Feb 2019 19:20:41 +0000 (19:20 +0000)
committerWilliam Pitcock <nenolod@dereferenced.org>
Wed, 13 Feb 2019 19:34:43 +0000 (19:34 +0000)
lib/pleroma/web/activity_pub/views/user_view.ex
lib/pleroma/web/router.ex

index af75546dda7c75d623f43318341804b0fef870e0..035463de2c861f6e15866ac0736365177c4d110a 100644 (file)
@@ -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
index 5b5627ce84cb20a8a1796de752439e7dd0eb677d..d66a1c2a136b2d60eec02d900e747a5d90b99790 100644 (file)
@@ -468,8 +468,8 @@ defmodule Pleroma.Web.Router 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