from typing import Optional from pydantic import EmailStr from app.schemas.base import BaseSchema, BaseSchemaIDTimestamps class CustomerBase(BaseSchema): """Base schema for customer.""" name: str email: Optional[EmailStr] = None phone: Optional[str] = None address: Optional[str] = None tax_id: Optional[str] = None notes: Optional[str] = None class CustomerCreate(CustomerBase): """Schema for creating a customer.""" pass class CustomerUpdate(BaseSchema): """Schema for updating a customer.""" name: Optional[str] = None email: Optional[EmailStr] = None phone: Optional[str] = None address: Optional[str] = None tax_id: Optional[str] = None notes: Optional[str] = None class CustomerInDBBase(CustomerBase, BaseSchemaIDTimestamps): """Base schema for customer in database.""" user_id: int class Customer(CustomerInDBBase): """Schema for customer.""" pass