fastapi_app/app/schemas.py
2025-12-10 21:49:25 +00:00

45 lines
1.2 KiB
Python

from pydantic import BaseModel
from datetime import date
from typing import Optional
# -----------------------
# Customer Schemas
# -----------------------
class CustomerBase(BaseModel):
full_name: str
email: str
phone: Optional[str] = None
date_of_birth: Optional[date] = None
age: Optional[int] = None
gender: Optional[str] = None
street_address: Optional[str] = None
city: Optional[str] = None
state: Optional[str] = None
zip_code: Optional[str] = None
home_branch_id: Optional[int] = None
customer_since: Optional[date] = None
employment_status: Optional[str] = None
annual_income: Optional[float] = None
credit_score: Optional[int] = None
preferred_contact_method: Optional[str] = None
class Customer(CustomerBase):
customer_id: str
class Config:
orm_mode = True
# -----------------------
# Account Schemas
# -----------------------
class AccountBase(BaseModel):
customer_id: str
account_type: str
open_date: date
balance: float
branch_id: Optional[int] = None
class Account(AccountBase):
account_id: str
account_number: str
class Config:
orm_mode = True