from pydantic import BaseModel, EmailStr from typing import Optional from datetime import datetime class CustomerBase(BaseModel): name: str email: EmailStr phone: Optional[str] = None address: Optional[str] = None city: Optional[str] = None state: Optional[str] = None zip_code: Optional[str] = None country: Optional[str] = None class CustomerCreate(CustomerBase): pass class CustomerUpdate(BaseModel): name: Optional[str] = None email: Optional[EmailStr] = None phone: Optional[str] = None address: Optional[str] = None city: Optional[str] = None state: Optional[str] = None zip_code: Optional[str] = None country: Optional[str] = None class CustomerInDB(CustomerBase): id: int user_id: int created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True class Customer(CustomerInDB): pass