38 lines
964 B
Python
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}
|
|
|
|
|