Files
finance-app/backend/app/schemas/transaction.py

47 lines
936 B
Python

from datetime import datetime
from typing import Optional
from .base import CamelModel
class TransactionUpdate(CamelModel):
notes: Optional[str] = None
category: Optional[str] = None
budget_id: Optional[str] = None
class BudgetRef(CamelModel):
id: str
name: str
color: Optional[str]
class AccountRef(CamelModel):
name: str
type: str
class TransactionResponse(CamelModel):
id: str
account_id: str
upload_id: Optional[str]
budget_id: Optional[str]
date: datetime
description: str
amount_cents: int
type: str
category: Optional[str]
notes: Optional[str]
created_at: Optional[datetime]
updated_at: Optional[datetime]
account: Optional[AccountRef] = None
budget: Optional[BudgetRef] = None
class TransactionListResponse(CamelModel):
transactions: list[TransactionResponse]
total: int
page: int
limit: int
total_pages: int