23 lines
649 B
Python
23 lines
649 B
Python
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),
|
|
}
|