Spaces:
Sleeping
Sleeping
| """Audit log route.""" | |
| from fastapi import APIRouter, Depends | |
| from core import data_manager | |
| from api.deps import require_admin_session | |
| router = APIRouter(prefix="/api/audit", tags=["audit"]) | |
| def list_audit( | |
| search: str | None = None, | |
| action: str | None = None, | |
| limit: int = 500, | |
| session: dict = Depends(require_admin_session), | |
| ): | |
| log = data_manager.get_audit_log(limit=limit) | |
| if action and action != "All": | |
| log = [e for e in log if e.get("action") == action] | |
| if search: | |
| s = search.lower() | |
| log = [ | |
| e for e in log | |
| if s in str(e.get("details", "")).lower() | |
| or s in str(e.get("action", "")).lower() | |
| or s in str(e.get("user", "")).lower() | |
| or s in str(e.get("appointment_id", "")).lower() | |
| ] | |
| return log | |
| def action_types(session: dict = Depends(require_admin_session)): | |
| log = data_manager.get_audit_log(limit=1000) | |
| return sorted({e.get("action", "") for e in log if e.get("action")}) | |