This commit is contained in:
cube
2026-05-19 22:31:12 +01:00
parent c184a8d0ff
commit 222acacff5
2 changed files with 39 additions and 0 deletions

View File

@@ -22,6 +22,9 @@ def create_app():
from . import db
db.init_app(app)
from . import commands
commands.init_commands(app)
from . import auth
app.register_blueprint(auth.bp)

36
myriad/commands.py Normal file
View File

@@ -0,0 +1,36 @@
import click
from myriad.db import get_db
from werkzeug.security import generate_password_hash
@click.command('register-admin')
@click.option("--username", prompt="Username")
@click.option("--password", prompt="Password")
def register_admin_command(username, password):
"""Register an admin account."""
db = get_db()
valid = True
if not username.strip():
click.echo("Must enter a username")
valid = False
if not password.strip():
click.echo("Must enter a password")
valid = False
if not valid:
return
try:
db.execute("INSERT INTO user (username, password) VALUES (?, ?)",(username, generate_password_hash(password)),)
db.commit()
except db.IntegrityError:
click.echo(f"User {username} is already registered.")
return
click.echo('Admin account registered')
def init_commands(app):
app.cli.add_command(register_admin_command)