fix #79
This commit is contained in:
@@ -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
36
myriad/commands.py
Normal 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)
|
||||
Reference in New Issue
Block a user