19 lines
501 B
Python
19 lines
501 B
Python
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)
|