from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.core.database import get_db from app.models.user import SystemSettings from app.schemas import PublicSettingsOut router = APIRouter(prefix="/settings", tags=["settings"]) def get_or_create_settings(db: Session) -> SystemSettings: row = db.get(SystemSettings, 1) if row is None: row = SystemSettings(id=1, registration_enabled=True) db.add(row) db.commit() db.refresh(row) return row @router.get("/public", response_model=PublicSettingsOut) def public_settings(db: Session = Depends(get_db)): row = get_or_create_settings(db) return PublicSettingsOut(registration_enabled=row.registration_enabled)