projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[#468] Merged `upstream/develop`, resolved conflicts.
[akkoma]
/
lib
/
pleroma
/
web
/
mastodon_api
/
mastodon_api_controller.ex
diff --git
a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index dcaeccac698d0bee14dee817dcc48a11b8dc06fe..942bb4338d6dede9ac08850433f385a77c27404b 100644
(file)
--- a/
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@
-30,7
+30,9
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
alias Pleroma.Web.OAuth.Authorization
alias Pleroma.Web.OAuth.Token
alias Pleroma.Web.OAuth.Authorization
alias Pleroma.Web.OAuth.Token
+ import Pleroma.Web.ControllerHelper, only: [oauth_scopes: 2]
import Ecto.Query
import Ecto.Query
+
require Logger
@httpoison Application.get_env(:pleroma, :httpoison)
require Logger
@httpoison Application.get_env(:pleroma, :httpoison)
@@
-39,7
+41,14
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
action_fallback(:errors)
def create_app(conn, params) do
action_fallback(:errors)
def create_app(conn, params) do
- with cs <- App.register_changeset(%App{}, params),
+ scopes = oauth_scopes(params, ["read"])
+
+ app_attrs =
+ params
+ |> Map.drop(["scope", "scopes"])
+ |> Map.put("scopes", scopes)
+
+ with cs <- App.register_changeset(%App{}, app_attrs),
false <- cs.changes[:client_name] == @local_mastodon_name,
{:ok, app} <- Repo.insert(cs) do
res = %{
false <- cs.changes[:client_name] == @local_mastodon_name,
{:ok, app} <- Repo.insert(cs) do
res = %{
@@
-1176,7
+1185,7
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
response_type: "code",
client_id: app.client_id,
redirect_uri: ".",
response_type: "code",
client_id: app.client_id,
redirect_uri: ".",
- scope:
app.scopes
+ scope:
Enum.join(app.scopes, " ")
)
conn
)
conn
@@
-1191,7
+1200,11
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
{:ok, app}
else
_e ->
{:ok, app}
else
_e ->
- cs = App.register_changeset(%App{}, Map.put(find_attrs, :scopes, "read,write,follow"))
+ cs =
+ App.register_changeset(
+ %App{},
+ Map.put(find_attrs, :scopes, ["read", "write", "follow"])
+ )
Repo.insert(cs)
end
Repo.insert(cs)
end