from typing import Any from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app import crud, models, schemas from app.api import deps router = APIRouter() @router.get("/", response_model=schemas.Settings) def read_settings( db: Session = Depends(deps.get_db), ) -> Any: """ Retrieve site settings. """ settings = crud.settings.get_settings(db) return settings @router.put("/", response_model=schemas.Settings) def update_settings( *, db: Session = Depends(deps.get_db), settings_in: schemas.SettingsUpdate, current_user: models.User = Depends(deps.get_current_active_superuser), ) -> Any: """ Update site settings. """ settings = crud.settings.get_settings(db) settings = crud.settings.update(db, db_obj=settings, obj_in=settings_in) return settings