from typing import Optional from pydantic import BaseModel, EmailStr # Shared properties class ClientBase(BaseModel): name: Optional[str] = None contact_name: Optional[str] = None email: Optional[EmailStr] = None phone: Optional[str] = None address: Optional[str] = None city: Optional[str] = None state: Optional[str] = None postal_code: Optional[str] = None country: Optional[str] = None tax_id: Optional[str] = None notes: Optional[str] = None organization_id: Optional[int] = None # Properties to receive via API on creation class ClientCreate(ClientBase): name: str organization_id: int # Properties to receive via API on update class ClientUpdate(ClientBase): pass class ClientInDBBase(ClientBase): id: Optional[int] = None created_by_id: Optional[int] = None class Config: orm_mode = True # Additional properties to return via API class Client(ClientInDBBase): pass # Additional properties stored in DB class ClientInDB(ClientInDBBase): pass