from typing import Optional from pydantic import BaseModel # Shared properties class WarehouseBase(BaseModel): name: Optional[str] = None code: Optional[str] = None address: Optional[str] = None city: Optional[str] = None state: Optional[str] = None country: Optional[str] = None postal_code: Optional[str] = None is_active: Optional[bool] = True # Properties to receive via API on creation class WarehouseCreate(WarehouseBase): name: str code: str address: str city: str state: str country: str postal_code: str # Properties to receive via API on update class WarehouseUpdate(WarehouseBase): pass class WarehouseInDBBase(WarehouseBase): id: int class Config: from_attributes = True # Additional properties to return via API class Warehouse(WarehouseInDBBase): pass # Additional properties stored in DB class WarehouseInDB(WarehouseInDBBase): pass