37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
"""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))
|