import Plug.Conn
import Pleroma.Web.Gettext
+ alias Pleroma.Config
alias Pleroma.Plugs.EnsurePublicOrAuthenticatedPlug
@behaviour Plug
def call(%Plug.Conn{assigns: assigns} = conn, %{scopes: scopes} = options) do
op = options[:op] || :|
token = assigns[:token]
+
+ scopes =
+ if options[:admin] do
+ Config.oauth_admin_scopes(scopes)
+ else
+ scopes
+ end
+
matched_scopes = token && filter_descendants(scopes, token.scopes)
cond do
end
defp maybe_perform_instance_privacy_check(%Plug.Conn{} = conn, options) do
- case options[:skip_instance_privacy_check] do
- true -> conn
- _ -> EnsurePublicOrAuthenticatedPlug.call(conn, [])
+ if options[:skip_instance_privacy_check] do
+ conn
+ else
+ EnsurePublicOrAuthenticatedPlug.call(conn, [])
end
end
end