scheduler / api /audit.py
umangchaudhry's picture
Upload 31 files
0d04b76 verified
Raw
History Blame Contribute Delete
1.05 kB
"""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"])
@router.get("")
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
@router.get("/actions")
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")})