41 lines
757 B
Python
41 lines
757 B
Python
from datetime import datetime
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from app.models.evidence_image import SourceApp, PageType, OcrStatus
|
|
|
|
|
|
class ImageOut(BaseModel):
|
|
id: UUID
|
|
case_id: UUID
|
|
url: str = ""
|
|
thumb_url: str = ""
|
|
source_app: SourceApp
|
|
page_type: PageType
|
|
ocr_status: OcrStatus
|
|
file_hash: str
|
|
uploaded_at: datetime
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
|
|
class OcrBlockOut(BaseModel):
|
|
id: UUID
|
|
content: str
|
|
bbox: dict
|
|
seq_order: int
|
|
confidence: float
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
|
|
class ImageDetailOut(ImageOut):
|
|
ocr_blocks: list[OcrBlockOut] = []
|
|
|
|
|
|
class OcrFieldCorrection(BaseModel):
|
|
field_name: str
|
|
old_value: str
|
|
new_value: str
|