"""风险事件相关 Pydantic schema。""" from datetime import datetime from pydantic import BaseModel, Field class RiskEventCreate(BaseModel): """创建风险事件。""" company_id: str type: str = Field(..., description="financial/operational/org/ai_specific") severity: str = Field(default="medium", description="low/medium/high/critical") title: str = Field(..., min_length=1, max_length=200) description: str | None = None suggested_action: str | None = None class RiskEventUpdate(BaseModel): """更新风险事件。""" status: str | None = Field(default=None, description="open/assigned/in_progress/resolved/closed") severity: str | None = None assigned_to: str | None = None description: str | None = None suggested_action: str | None = None class RiskEventResponse(BaseModel): """风险事件响应。""" id: str company_id: str type: str severity: str status: str title: str description: str | None = None evidence_json: dict | None = None suggested_action: str | None = None assigned_to: str | None = None due_at: datetime | None = None identified_at: datetime closed_at: datetime | None = None created_at: datetime updated_at: datetime class RiskEventListResponse(BaseModel): """风险列表响应。""" items: list[RiskEventResponse] total: int page: int page_size: int