Files
AIPortPilot/backend/app/schemas/risk.py
T
selfrelease 94be6189e9 feat: T1.5 风险工作台 — 后端 CRUD + 前端风险列表
- 后端:risks 路由(列表/详情/创建/更新/删除)+ 状态流转
- 前端:风险工作台页(卡片列表、状态筛选、内联状态切换、删除)
- 测试:6 个风险 CRUD 测试(总计 43 tests passed)
- 前端构建 13 路由成功
2026-07-18 22:06:30 +08:00

55 lines
1.4 KiB
Python

"""风险事件相关 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