Validation_Suite/validation-suite/backend/mercury/app/db/seed.py

30 lines
831 B
Python

from __future__ import annotations
from sqlalchemy import select
from app.core.config import settings
from app.core.security import hash_password
from app.db.session import SessionLocal
from app.models.user import User, UserRole
def seed_admin() -> None:
with SessionLocal() as session:
existing = session.scalar(select(User).where(User.email == settings.admin_email.lower()))
if existing is not None:
return
session.add(
User(
email=settings.admin_email.lower(),
full_name="Validation Suite Administrator",
role=UserRole.admin,
password_hash=hash_password(settings.admin_password),
is_active=True,
)
)
session.commit()
if __name__ == "__main__":
seed_admin()