""" Public (authenticated) settings endpoints for client configuration """ from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.database.base import get_db from app.auth.security import get_current_user from app.models.user import User from app.models.lookups import SystemSetup router = APIRouter() @router.get("/inactivity_warning_minutes") async def get_inactivity_warning_minutes( db: Session = Depends(get_db), current_user: User = Depends(get_current_user), ): """Returns the inactivity warning threshold in minutes (default 240).""" default_minutes = 240 setting = ( db.query(SystemSetup) .filter(SystemSetup.setting_key == "inactivity_warning_minutes") .first() ) if not setting: return {"minutes": default_minutes} try: minutes = int(setting.setting_value) except Exception: minutes = default_minutes return {"minutes": minutes}