make 2fa UI less awful
[akkoma] / lib / pleroma / config.ex
index 1ee4777f6190e9aeb2ce369467655532126e3bb3..54e332595d73762f155ce5c438ea8bfd494184c0 100644 (file)
@@ -1,12 +1,7 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
-defmodule Pleroma.Config.Getting do
-  @callback get(any()) :: any()
-  @callback get(any(), any()) :: any()
-end
-
 defmodule Pleroma.Config do
   @behaviour Pleroma.Config.Getting
   defmodule Error do
@@ -105,15 +100,7 @@ defmodule Pleroma.Config do
 
   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