from fastapi import APIRouter, Request from web.audit import is_admin_session, recent_events from web.session import get_session router = APIRouter() @router.get("/recent") def get_recent_events(request: Request, limit: int = 100, all: bool = False): limit = max(1, min(limit, 500)) session = get_session(request) include_all = all and is_admin_session(session) return { "events": recent_events( limit, session_id=session.get("_session_id"), include_all=include_all, ), "scope": "all" if include_all else "session", "is_admin": is_admin_session(session), }