ability to set and reset avatar, profile banner and backgroud in Mastodon API
[akkoma] / lib / pleroma / web / oauth / token / response.ex
1 defmodule Pleroma.Web.OAuth.Token.Response do
2 @moduledoc false
3
4 alias Pleroma.User
5 alias Pleroma.Web.OAuth.Token.Utils
6
7 @expires_in Pleroma.Config.get([:oauth2, :token_expires_in], 600)
8
9 @doc false
10 def build(%User{} = user, token, opts \\ %{}) do
11 %{
12 token_type: "Bearer",
13 access_token: token.token,
14 refresh_token: token.refresh_token,
15 expires_in: @expires_in,
16 scope: Enum.join(token.scopes, " "),
17 me: user.ap_id
18 }
19 |> Map.merge(opts)
20 end
21
22 def build_for_client_credentials(token) do
23 %{
24 token_type: "Bearer",
25 access_token: token.token,
26 refresh_token: token.refresh_token,
27 created_at: Utils.format_created_at(token),
28 expires_in: @expires_in,
29 scope: Enum.join(token.scopes, " ")
30 }
31 end
32 end