Source code for app.commands

import click

from sqlalchemy import select

from flask.cli import with_appcontext
from flask import Flask

from app.models.member_model import Member
from app.extensions import db

[docs] def register_cli_commands(app: Flask): @click.command("create-admin") @click.argument("username") @click.argument("password") @click.argument("ist_id") @with_appcontext def create_admin_member(username, password, ist_id): if db.session.execute(select(Member).where(Member.username == username)).scalars().one_or_none() is not None: click.echo(f'Member with name {username} already exists') return if db.session.execute(select(Member).where(Member.username == username)).scalars().one_or_none() is not None: click.echo(f'Member with ist_id {ist_id} already exists') return db.session.add(Member(username=username, password=password, ist_id=ist_id, name="admin", email="admin", roles=["sysadmin"])) db.session.commit() click.echo(f"Admin member '{username}' created successfully.") app.cli.add_command(create_admin_member)