2026-07-23 08:42:26 +02:00
|
|
|
"""Entity history schemas — response, list, and restore request."""
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EntityHistoryResponse(BaseModel):
|
|
|
|
|
id: str
|
|
|
|
|
entity_type: str
|
|
|
|
|
entity_id: str
|
|
|
|
|
action: str
|
|
|
|
|
snapshot_before: dict | None = None
|
|
|
|
|
snapshot_after: dict | None = None
|
|
|
|
|
changes: dict | None = None
|
|
|
|
|
user_id: str | None = None
|
|
|
|
|
created_at: str | None = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EntityHistoryListResponse(BaseModel):
|
|
|
|
|
items: list[EntityHistoryResponse]
|
|
|
|
|
total: int
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class RestoreRequest(BaseModel):
|
|
|
|
|
history_id: str
|
2026-08-13 23:08:29 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class BulkRestoreRequest(BaseModel):
|
|
|
|
|
history_ids: list[str]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BulkRestoreResultItem(BaseModel):
|
|
|
|
|
history_id: str
|
|
|
|
|
success: bool
|
|
|
|
|
entity_type: str | None = None
|
|
|
|
|
entity_id: str | None = None
|
|
|
|
|
error: str | None = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BulkRestoreResponse(BaseModel):
|
|
|
|
|
total: int
|
|
|
|
|
succeeded: int
|
|
|
|
|
failed: int
|
|
|
|
|
results: list[BulkRestoreResultItem]
|
|
|
|
|
partial_success: bool = False
|