"""Seed script — creates an initial admin user if one doesn't exist. Usage: python seed_admin.py Credentials: username: admin password: Admin@1234 Change the password after first login via the admin panel. """ import os os.environ.setdefault("SQLALCHEMY_DATABASE_URI", "sqlite:///liver_disease.db") os.environ.setdefault("SKIP_ARTIFACT_CHECK", "true") from app import create_app from app.extensions import db, bcrypt from app.models.user import User app = create_app("development") with app.app_context(): existing = db.session.query(User).filter_by(username="admin").first() if existing: print("Admin user already exists — skipping.") else: hashed = bcrypt.generate_password_hash("Admin@1234").decode("utf-8") admin = User( username="admin", password=hashed, role="admin", status="active", failed_logins=0, ) db.session.add(admin) db.session.commit() print("✓ Admin user created.") print(" Username : admin") print(" Password : Admin@1234") print(" Please change the password after first login.")