from typing import Any from pydantic import BaseModel, Field from app.core.constants import ActorValue class DomainRecordCreate(BaseModel): data: dict[str, Any] = Field(..., description="Domain fields to create.") actor: str = ActorValue.API approval_ticket_id: str | None = Field( default=None, description="Required by policy for high-risk creates such as funds or performance.", ) class DomainRecordUpdate(BaseModel): data: dict[str, Any] = Field(..., description="Domain fields to update.") actor: str = ActorValue.API approval_ticket_id: str | None = Field( default=None, description="Required by policy for high-risk updates such as funds or performance.", ) class DomainRecordRead(BaseModel): domain: str data: dict[str, Any] class DomainListRead(BaseModel): domain: str total: int items: list[dict[str, Any]]