Update app/schemas.py
This commit is contained in:
parent
558319cc17
commit
0d1a8c8284
1 changed files with 31 additions and 1 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from datetime import date
|
from datetime import date
|
||||||
from typing import Optional
|
from typing import Optional, List
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# Customer Schemas
|
# Customer Schemas
|
||||||
|
|
@ -28,6 +28,7 @@ class Customer(CustomerBase):
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# Account Schemas
|
# Account Schemas
|
||||||
# -----------------------
|
# -----------------------
|
||||||
|
|
@ -43,3 +44,32 @@ class Account(AccountBase):
|
||||||
account_number: str
|
account_number: str
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
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]] = []
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue