Files
delphi-database/app/api/settings.py
HotSwapp c2f3c4411d progress
2025-08-09 16:37:57 -05:00

38 lines
964 B
Python

"""
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}