This commit is contained in:
HotSwapp
2025-08-09 16:37:57 -05:00
parent 5f74243c8c
commit c2f3c4411d
35 changed files with 9209 additions and 4633 deletions

37
app/api/settings.py Normal file
View File

@@ -0,0 +1,37 @@
"""
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}