27 lines
738 B
Python
27 lines
738 B
Python
import click
|
||
from flask.cli import with_appcontext
|
||
from werkzeug.security import generate_password_hash
|
||
from ..core.models import User
|
||
from .. import db
|
||
|
||
@click.command("seed-admin")
|
||
@with_appcontext
|
||
def seed_admin():
|
||
"""Seed a default admin user if none exists."""
|
||
admin_email = "admin@example.com"
|
||
admin_password = "admin123"
|
||
|
||
if User.query.filter_by(email=admin_email).first():
|
||
click.echo("[ℹ] Admin user already exists.")
|
||
return
|
||
|
||
user = User(
|
||
email=admin_email,
|
||
password_hash=generate_password_hash(admin_password),
|
||
role="admin",
|
||
is_verified=True
|
||
)
|
||
db.session.add(user)
|
||
db.session.commit()
|
||
click.echo(f"[✔] Created default admin: {admin_email}")
|