import click from sqlalchemy import select from l4d2web.db import session_scope from l4d2web.models import User @click.command("promote-admin") @click.argument("username") def promote_admin(username: str) -> None: with session_scope() as db: user = db.scalar(select(User).where(User.username == username)) if user is None: raise click.ClickException("user not found") user.admin = True def register_cli(app) -> None: app.cli.add_command(promote_admin)