41 lines
862 B
Python
41 lines
862 B
Python
"""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
|