#!/usr/bin/env python3
"""
Creates the default admin user (admin / Admin@2026!) if not exists.
Run after init_db.py.
"""
import sys
import os

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

from dotenv import load_dotenv
load_dotenv()

from app.core.database import SessionLocal
from app.core.models import User, UserRole, UserStatus
from app.core.security import hash_password


def main():
    db = SessionLocal()
    try:
        existing = db.query(User).filter(User.username == "admin").first()
        if existing:
            print("Admin user already exists.")
            return

        admin = User(
            username="admin",
            password_hash=hash_password("Admin@2026!"),
            display_name="Administrator",
            role=UserRole.admin,
            status=UserStatus.active,
        )
        db.add(admin)
        db.commit()
        print("Admin user created: admin / Admin@2026!")
    finally:
        db.close()


if __name__ == "__main__":
    main()