Newer
Older
from areas.roles.role_service import RoleService
def admin_required():
def wrapper(fn):
@wraps(fn)
def decorator(*args, **kwargs):
verify_jwt_in_request()
claims = get_jwt()
user_id = claims["user_id"]
is_admin = RoleService.is_user_admin(user_id)
if is_admin:
return fn(*args, **kwargs)
else:
def kratos_webhook():
def wrapper(fn):
@wraps(fn)
def decorator(*args, **kwargs):
header = request.headers.get("Authorization")
# TO DO: uncomment line below once merged to main
# if header is not None and header == os.environ.get("KRATOS_WEBHOOK_SECRET"):
# TO DO: remove line below once merged to main
if header is not None and header == os.environ.get("KRATOS_WEBHOOK_SECRET", "test-kratos-hooks-remove-before-merge"):
return fn(*args, **kwargs)
else:
raise Unauthorized("This needs a valid api key.")
return decorator
return wrapper