Files
fastapi/app/schemas/imports.py
T

37 lines
1.0 KiB
Python
Raw Normal View History

from pydantic import BaseModel, Field
class CaseSqlPreviewCase(BaseModel):
"""病例 SQL 预览病例:展示导入文件中识别到的病例摘要。"""
id: int
title: str
case_type: str
difficulty: str
class CaseSqlImportPreviewResponse(BaseModel):
"""病例 SQL 预检响应:只展示解析结果,不写入数据库。"""
file_name: str
encoding: str | None = None
tables: dict[str, int] = Field(default_factory=dict)
can_import: bool = False
warnings: list[str] = Field(default_factory=list)
errors: list[str] = Field(default_factory=list)
preview_cases: list[CaseSqlPreviewCase] = Field(default_factory=list)
class CaseSqlImportApplyResponse(BaseModel):
"""病例 SQL 导入响应:展示实际写库结果。"""
imported: bool
file_name: str
encoding: str
inserted_or_updated_cases: int
imported_traditional_cases: int
imported_teaching_cases: int
imported_scoring_rules: int
generated_exam_items: int
warnings: list[str] = Field(default_factory=list)