"""Startup-Seeds. Phase 0: nur der erste Admin-Benutzer. Fachliche Startdaten (Standard-Kategorien usw.) folgen in späteren Phasen. """ from sqlalchemy.orm import Session from .config import get_settings from .models import Role, User from .security import hash_password def ensure_first_admin(db: Session) -> None: """Legt einen Admin an, solange noch gar kein Benutzer existiert.""" if db.query(User).first() is not None: return settings = get_settings() admin = User( username=settings.admin_username, password_hash=hash_password(settings.admin_password), role=Role.admin, is_active=True, must_change_password=False, ) db.add(admin) db.commit()