from typing import Optional from pydantic import BaseModel, EmailStr from datetime import datetime class CustomerBase(BaseModel): name: str email: EmailStr phone: Optional[str] = None address: Optional[str] = None city: Optional[str] = None country: Optional[str] = None postal_code: 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 country: Optional[str] = None postal_code: Optional[str] = None class CustomerInDBBase(CustomerBase): id: int user_id: int created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True class Customer(CustomerInDBBase): pass