AccountOperation: Correctly describe create response.
authorlain <lain@soykaf.club>
Mon, 29 Jun 2020 11:49:48 +0000 (13:49 +0200)
committerlain <lain@soykaf.club>
Mon, 29 Jun 2020 11:49:48 +0000 (13:49 +0200)
lib/pleroma/web/api_spec/operations/account_operation.ex
lib/pleroma/web/mastodon_api/controllers/account_controller.ex

index d94dae374020d8f2d86c12e4eb7ae34de363b7de..f3ffa1ad4d5dcac45314a64586cf2711ccd9a159 100644 (file)
@@ -438,6 +438,7 @@ defmodule Pleroma.Web.ApiSpec.AccountOperation do
     }
   end
 
+  # TODO: This is actually a token respone, but there's no oauth operation file yet.
   defp create_response do
     %Schema{
       title: "AccountCreateResponse",
@@ -446,14 +447,20 @@ defmodule Pleroma.Web.ApiSpec.AccountOperation do
       properties: %{
         token_type: %Schema{type: :string},
         access_token: %Schema{type: :string},
+        refresh_token: %Schema{type: :string},
         scope: %Schema{type: :string},
-        created_at: %Schema{type: :integer, format: :"date-time"}
+        created_at: %Schema{type: :integer, format: :"date-time"},
+        me: %Schema{type: :string},
+        expires_in: %Schema{type: :integer}
       },
       example: %{
+        "token_type" => "Bearer",
         "access_token" => "i9hAVVzGld86Pl5JtLtizKoXVvtTlSCJvwaugCxvZzk",
+        "refresh_token" => "i9hAVVzGld86Pl5JtLtizKoXVvtTlSCJvwaugCxvZzz",
         "created_at" => 1_585_918_714,
+        "expires_in" => 600,
         "scope" => "read write follow push",
-        "token_type" => "Bearer"
+        "me" => "https://gensokyo.2hu/users/raymoo"
       }
     }
   end
index a87dddddf3d783115ec21dd158afcae79c051772..a143675ecaeca69fe3f7432304018102593b1410 100644 (file)
@@ -28,6 +28,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do
   alias Pleroma.Web.MastodonAPI.MastodonAPIController
   alias Pleroma.Web.MastodonAPI.StatusView
   alias Pleroma.Web.OAuth.Token
+  alias Pleroma.Web.OAuth.OAuthView
   alias Pleroma.Web.TwitterAPI.TwitterAPI
 
   plug(Pleroma.Web.ApiSpec.CastAndValidate)
@@ -101,12 +102,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do
          :ok <- TwitterAPI.validate_captcha(app, params),
          {:ok, user} <- TwitterAPI.register_user(params, need_confirmation: true),
          {:ok, token} <- Token.create_token(app, user, %{scopes: app.scopes}) do
-      json(conn, %{
-        token_type: "Bearer",
-        access_token: token.token,
-        scope: app.scopes |> Enum.join(" "),
-        created_at: Token.Utils.format_created_at(token)
-      })
+      json(conn, OAuthView.render("token.json", %{user: user, token: token}))
     else
       {:error, error} -> json_response(conn, :bad_request, %{error: error})
     end