load project

This commit is contained in:
2026-06-15 09:18:58 +03:00
commit bf1839607f
70 changed files with 7503 additions and 0 deletions

32
backend/app/seed.py Normal file
View File

@@ -0,0 +1,32 @@
from sqlalchemy.orm import Session
from app.auth import get_password_hash, get_user_by_email, get_user_by_username
from app.config import settings
from app.models.user import User, UserRole
def seed_admin_user(db: Session) -> None:
"""Create initial admin from .env if no user with that username exists."""
if not settings.admin_username or not settings.admin_password:
return
existing = get_user_by_username(db, settings.admin_username)
if existing:
if existing.role != UserRole.admin:
existing.role = UserRole.admin
db.commit()
return
email = settings.admin_email or f"{settings.admin_username}@localhost"
if get_user_by_email(db, email):
email = f"{settings.admin_username}.admin@localhost"
user = User(
email=email,
username=settings.admin_username,
hashed_password=get_password_hash(settings.admin_password),
role=UserRole.admin,
is_active=True,
)
db.add(user)
db.commit()