Spaces:
Paused
Paused
| from datetime import datetime | |
| from typing import Any, Optional | |
| from pydantic import BaseModel, Field | |
| class TransactionBase(BaseModel): | |
| amount: float | |
| currency: str = "USD" | |
| date: datetime | |
| merchant_name: str | |
| category: Optional[str] = None | |
| description: Optional[str] = None | |
| transaction_type: str = "DEBIT" | |
| source_id: Optional[str] = None | |
| external_transaction_id: Optional[str] = None | |
| ip_address: Optional[str] = None | |
| transaction_metadata: dict[str, Any] = Field(default_factory=dict) | |
| case_id: Optional[str] = None | |
| class TransactionCreate(TransactionBase): | |
| pass | |
| class TransactionUpdate(BaseModel): | |
| is_flagged: Optional[bool] = None | |
| flag_reason: Optional[str] = None | |
| category: Optional[str] = None | |
| description: Optional[str] = None | |
| class TransactionResponse(TransactionBase): | |
| id: str | |
| case_id: str | |
| created_at: datetime | |
| confidence_score: float | |
| is_reconciled: bool | |
| class Config: | |
| from_attributes = True | |