Spaces:
Sleeping
Sleeping
| from enum import Enum | |
| from datetime import datetime | |
| from typing import Dict, List | |
| from typing_extensions import TypedDict | |
| from app.schema.base import BaseModel, PydanticBaseModel | |
| class TransactionType(str, Enum): | |
| INCOME = "income" | |
| EXPENSE = "expense" | |
| class UserCreate(PydanticBaseModel): | |
| name: str | |
| email: str | |
| hashed_password: str | |
| class UserUpdate(PydanticBaseModel): | |
| name: str | |
| email: str | |
| hashed_password: str | |
| class UserResponse(PydanticBaseModel): | |
| id: int | |
| name: str | |
| email: str | |
| is_deleted: bool | |
| class User(BaseModel): | |
| name: str | |
| email: str | |
| hashed_password: str | |
| is_deleted: bool = False | |
| transactions: "List[Transaction]" = [] | |
| class TransactionResponse(PydanticBaseModel): | |
| transaction_date: datetime | |
| category: str | |
| name_description: str | |
| amount: float | |
| type: TransactionType | |
| class TransactionCreate(TransactionResponse): | |
| user_id: int | |
| class Transaction(TransactionResponse): | |
| user: User | |
| class FileUploadCreate(PydanticBaseModel): | |
| source: str | |
| date: datetime | |
| category: str | |
| name_description: str | |
| amount: float | |
| type: str | |
| class IncomeStatementCreateRequest(PydanticBaseModel): | |
| user_id: int | |
| date_from: datetime | |
| date_to: datetime | |
| class IncomeStatementDetail(TypedDict): | |
| total: float | |
| category_totals: List[Dict[str, str | float]] | |
| class IncomeStatementLLMResponse(PydanticBaseModel): | |
| income: IncomeStatementDetail | |
| expenses: IncomeStatementDetail | |
| class IncomeStatement(IncomeStatementCreateRequest, IncomeStatementLLMResponse): | |
| pass | |
| class IncomeStatementResponse(IncomeStatement): | |
| id: int |