mirror of
https://github.com/yogeshojha/rengine.git
synced 2026-09-30 13:44:54 +02:00
26 lines
902 B
Python
26 lines
902 B
Python
from sqlmodel import select
|
|
|
|
from app.config import settings
|
|
from app.core.database import async_db_session
|
|
from app.core.logging import logger
|
|
from app.core.security import hash_password
|
|
from shared.models.user import User
|
|
|
|
|
|
async def create_initial_admin() -> None:
|
|
"""Create initial admin user if no users exist."""
|
|
async with async_db_session() as session:
|
|
result = await session.execute(select(User).limit(1))
|
|
existing_user = result.scalar_one_or_none()
|
|
|
|
if existing_user is None:
|
|
admin = User(
|
|
email=settings.ADMIN_EMAIL,
|
|
username=settings.ADMIN_USERNAME,
|
|
hashed_password=hash_password(settings.ADMIN_PASSWORD),
|
|
is_superuser=True,
|
|
)
|
|
session.add(admin)
|
|
await session.commit()
|
|
logger.info(f"Initial admin created: {settings.ADMIN_USERNAME}")
|