From 0d1a8c8284b6b760ea5fd70439225a8ff30f4caf Mon Sep 17 00:00:00 2001 From: Cameron Date: Wed, 10 Dec 2025 22:59:23 +0000 Subject: [PATCH] Update app/schemas.py --- app/schemas.py | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/app/schemas.py b/app/schemas.py index f82b4c8..9371673 100644 --- a/app/schemas.py +++ b/app/schemas.py @@ -1,6 +1,6 @@ from pydantic import BaseModel from datetime import date -from typing import Optional +from typing import Optional, List # ----------------------- # Customer Schemas @@ -28,6 +28,7 @@ class Customer(CustomerBase): class Config: orm_mode = True + # ----------------------- # Account Schemas # ----------------------- @@ -43,3 +44,32 @@ class Account(AccountBase): account_number: str class Config: orm_mode = True + + +# ----------------------- +# Transaction Schemas +# ----------------------- +class TransactionBase(BaseModel): + account_id: str + branch_id: Optional[int] = None + transaction_type: str + amount: float + date: date + balance_after: float + vendor: Optional[str] = None + transaction_location: Optional[str] = None + +class Transaction(TransactionBase): + transaction_id: str + class Config: + orm_mode = True + + +# ----------------------- +# Nested Schemas +# ----------------------- +class AccountWithTransactions(Account): + transactions: Optional[List[Transaction]] = [] + +class CustomerWithAccounts(Customer): + accounts: Optional[List[AccountWithTransactions]] = []