from datetime import datetime from uuid import UUID from app.models.evidence_image import SourceApp from app.models.transaction import Direction from app.schemas.base import CamelModel class TransactionOut(CamelModel): id: UUID case_id: UUID source_app: SourceApp trade_time: datetime amount: float direction: Direction counterparty_name: str counterparty_account: str self_account_tail_no: str order_no: str remark: str evidence_image_id: UUID | None = None confidence: float cluster_id: UUID | None = None is_duplicate: bool is_transit: bool class TransactionListOut(CamelModel): items: list[TransactionOut] total: int class FlowNodeOut(CamelModel): id: str label: str type: str class FlowEdgeOut(CamelModel): source: str target: str amount: float count: int trade_time: str class FlowGraphOut(CamelModel): nodes: list[FlowNodeOut] edges: list[FlowEdgeOut]