Coverage for rfpy/vendor/api/audit.py: 100%
12 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-29 13:25 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-29 13:25 +0000
1from typing import Annotated
3from rfpy.suxint import http
4from rfpy.api import fetch
5from rfpy.auth import perms
6from rfpy.model import AuditEvent
7from rfpy.web import serial
10@http
11def get_events(
12 session, user, pager
13) -> Annotated[list[dict], list[serial.SummaryEvent]]:
14 user.check_permission(perms.MANAGE_USERS)
15 q = fetch.audit_events(user.organisation)
16 cols = (
17 AuditEvent.id,
18 AuditEvent.timestamp,
19 AuditEvent.user_id,
20 AuditEvent.event_type,
21 )
22 return [
23 e._asdict() for e in q.slice(pager.startfrom, pager.goto).with_entities(*cols)
24 ]