from flask import request, url_for from flask_atlas_auth import current_user from werkzeug.utils import redirect from src.claims import Role from src.utils import has_basic_access class Auth: required_claims = (Role(Role.Values.superuser),) def is_accessible(self) -> bool: if current_user.is_authenticated and any(required_claim in self.required_claims for required_claim in current_user.claims): return has_basic_access() def inaccessible_callback(self, name, **kwargs): return redirect(url_for('login', next=request.url))