projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix aliases sorting
[akkoma]
/
lib
/
pleroma
/
config.ex
diff --git
a/lib/pleroma/config.ex
b/lib/pleroma/config.ex
index a8329cc1efbda910a5a0de6dda0068996d5b7d27..54e332595d73762f155ce5c438ea8bfd494184c0 100644
(file)
--- a/
lib/pleroma/config.ex
+++ b/
lib/pleroma/config.ex
@@
-1,16
+1,20
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-202
0
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-202
1
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Config do
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Config do
+ @behaviour Pleroma.Config.Getting
defmodule Error do
defexception [:message]
end
defmodule Error do
defexception [:message]
end
+ @impl true
def get(key), do: get(key, nil)
def get(key), do: get(key, nil)
+ @impl true
def get([key], default), do: get(key, default)
def get([key], default), do: get(key, default)
+ @impl true
def get([_ | _] = path, default) do
case fetch(path) do
{:ok, value} -> value
def get([_ | _] = path, default) do
case fetch(path) do
{:ok, value} -> value
@@
-18,6
+22,7
@@
defmodule Pleroma.Config do
end
end
end
end
+ @impl true
def get(key, default) do
Application.get_env(:pleroma, key, default)
end
def get(key, default) do
Application.get_env(:pleroma, key, default)
end
@@
-81,19
+86,21
@@
defmodule Pleroma.Config do
Application.delete_env(:pleroma, key)
end
Application.delete_env(:pleroma, key)
end
+ def restrict_unauthenticated_access?(resource, kind) do
+ setting = get([:restrict_unauthenticated, resource, kind])
+
+ if setting in [nil, :if_instance_is_private] do
+ !get!([:instance, :public])
+ else
+ setting
+ end
+ end
+
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(scopes) when is_list(scopes) do
- Enum.flat_map(
- scopes,
- fn scope ->
- ["admin:#{scope}"] ++
- if enforce_oauth_admin_scope_usage?(), do: [], else: [scope]
- end
- )
+ def feature_enabled?(feature_name) do
+ get([:features, feature_name]) not in [nil, false, :disabled, :auto]
end
end
end
end