"""User settings endpoints — capture/refine and generation defaults.""" from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from .. import models from ..database import get_db from ..services import settings as settings_service router = APIRouter(prefix="/settings", tags=["settings"]) @router.get("/captures", response_model=models.CaptureSettingsResponse) async def get_capture_settings_endpoint(db: Session = Depends(get_db)): return settings_service.get_capture_settings(db) @router.put("/captures", response_model=models.CaptureSettingsResponse) async def update_capture_settings_endpoint( patch: models.CaptureSettingsUpdate, db: Session = Depends(get_db), ): return settings_service.update_capture_settings(db, patch.model_dump(exclude_unset=True)) @router.get("/generation", response_model=models.GenerationSettingsResponse) async def get_generation_settings_endpoint(db: Session = Depends(get_db)): return settings_service.get_generation_settings(db) @router.put("/generation", response_model=models.GenerationSettingsResponse) async def update_generation_settings_endpoint( patch: models.GenerationSettingsUpdate, db: Session = Depends(get_db), ): return settings_service.update_generation_settings(db, patch.model_dump(exclude_unset=True))