from pydantic import BaseModel, Field class MainCapitalFlowRecordBase(BaseModel): id: str trade_date: str subject: str | None snapshot_time: str | None institution_amount_yi: float | None main_force_amount_yi: float | None large_household_amount_yi: float | None retail_amount_yi: float | None trend: str | None summary: str image_name: str image_url: str created_at: str updated_at: str class MainCapitalFlowRecordDetail(MainCapitalFlowRecordBase): raw_extraction: dict = Field(default_factory=dict) class MainCapitalFlowListResponse(BaseModel): items: list[MainCapitalFlowRecordBase] total: int class MainCapitalFlowRecognizeResponse(BaseModel): temp_image_name: str image_name: str image_url: str trade_date: str | None subject: str | None snapshot_time: str | None institution_amount_yi: float | None main_force_amount_yi: float | None large_household_amount_yi: float | None retail_amount_yi: float | None trend: str | None summary: str | None raw_extraction: dict = Field(default_factory=dict) class MainCapitalFlowCreateRequest(BaseModel): temp_image_name: str image_name: str trade_date: str subject: str | None = None snapshot_time: str | None = None institution_amount_yi: float | None = None main_force_amount_yi: float | None = None large_household_amount_yi: float | None = None retail_amount_yi: float | None = None trend: str | None = None summary: str raw_extraction: dict = Field(default_factory=dict) class MainCapitalFlowCreateResponse(BaseModel): item: MainCapitalFlowRecordDetail class MainCapitalFlowDeleteResponse(BaseModel): deleted: bool id: str