projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'remotes/origin/develop' into 1427-oauth-admin-scopes
[akkoma]
/
lib
/
pleroma
/
config.ex
diff --git
a/lib/pleroma/config.ex
b/lib/pleroma/config.ex
index 189faa15f8ef13ba858e75d2a6a14be54241a6b0..cadab2f1567523ba5c20069f3de2a7efa3af9862 100644
(file)
--- a/
lib/pleroma/config.ex
+++ b/
lib/pleroma/config.ex
@@
-12,8
+12,12
@@
defmodule Pleroma.Config do
def get([key], default), do: get(key, default)
def get([parent_key | keys], default) do
def get([key], default), do: get(key, default)
def get([parent_key | keys], default) do
- Application.get_env(:pleroma, parent_key)
- |> get_in(keys) || default
+ case :pleroma
+ |> Application.get_env(parent_key)
+ |> get_in(keys) do
+ nil -> default
+ any -> any
+ end
end
def get(key, default) do
end
def get(key, default) do
@@
-34,7
+38,7
@@
defmodule Pleroma.Config do
def put([parent_key | keys], value) do
parent =
def put([parent_key | keys], value) do
parent =
- Application.get_env(:pleroma, parent_key)
+ Application.get_env(:pleroma, parent_key
, []
)
|> put_in(keys, value)
Application.put_env(:pleroma, parent_key, parent)
|> put_in(keys, value)
Application.put_env(:pleroma, parent_key, parent)
@@
-61,4
+65,11
@@
defmodule Pleroma.Config do
def oauth_consumer_strategies, do: get([:auth, :oauth_consumer_strategies], [])
def oauth_consumer_enabled?, do: oauth_consumer_strategies() != []
def oauth_consumer_strategies, do: get([:auth, :oauth_consumer_strategies], [])
def oauth_consumer_enabled?, do: oauth_consumer_strategies() != []
+
+ def enforce_oauth_admin_scope_usage?, do: !!get([:auth, :enforce_oauth_admin_scope_usage])
+
+ def oauth_admin_scopes(scope) do
+ ["admin:#{scope}"] ++
+ if enforce_oauth_admin_scope_usage?(), do: [], else: [scope]
+ end
end
end