40 lines
879 B
Python
40 lines
879 B
Python
from datetime import datetime
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from app.models.assessment import ConfidenceLevel, ReviewStatus
|
|
from app.schemas.transaction import TransactionOut
|
|
|
|
|
|
class AssessmentOut(BaseModel):
|
|
id: UUID
|
|
case_id: UUID
|
|
transaction_id: UUID
|
|
transaction: TransactionOut | None = None
|
|
confidence_level: ConfidenceLevel
|
|
assessed_amount: float
|
|
reason: str
|
|
exclude_reason: str
|
|
review_status: ReviewStatus
|
|
review_note: str
|
|
reviewed_by: str
|
|
reviewed_at: datetime | None = None
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
|
|
class AssessmentListOut(BaseModel):
|
|
items: list[AssessmentOut]
|
|
total: int
|
|
|
|
|
|
class ReviewSubmit(BaseModel):
|
|
review_status: ReviewStatus
|
|
review_note: str = ""
|
|
reviewed_by: str = "demo_user"
|
|
|
|
|
|
class InquirySuggestionOut(BaseModel):
|
|
suggestions: list[str]
|