40 lines
946 B
Python

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