"""Models for Audit API views.""" import uuid from datetime import datetime from collections.abc import Sequence from pydantic import BaseModel from sshecret_backend import models class AuditView(BaseModel): """Audit log view.""" id: uuid.UUID | None = None subsystem: models.SubSystem message: str operation: models.Operation data: dict[str, str] | None = None client_id: uuid.UUID | None = None client_name: str | None = None secret_id: uuid.UUID | None = None secret_name: str | None = None origin: str | None = None timestamp: datetime | None = None class AuditInfo(BaseModel): """Information about audit information.""" entries: int class AuditListResult(BaseModel): """Class to return when listing audit entries.""" results: Sequence[AuditView] total: int remaining: int