
    ##i                         d Z ddlmZ ddlmZmZ ddlmZmZ ddl	m
Z
  G d de      Z G d d	e      Z G d
 de      Zy)z%
Product request schema definitions.
    )Optional)Field	BaseModel)ProductCreateSchemaProductUpdateSchema)ProductTypesc                       e Zd ZdZy)ProductCreateRequestz*Request schema for creating a new product.N__name__
__module____qualname____doc__     `/var/www/html/hwPaymentPortal-be-dev/hw-payment-portal-api/src/apps/products/schemas/requests.pyr
   r
      s    4r   r
   c                       e Zd ZdZy)ProductUpdateRequestz&Request schema for updating a product.Nr   r   r   r   r   r      s    0r   r   c                      e Zd ZU dZ edd      Zee   ed<    edd      Z	ee   ed<    edd      Z
ee   ed	<    edd
      Zee   ed<    edd      Zee   ed<    edd      Zee   ed<    edd      Zeed<    edd      Zeed<    edd      Zeed<    edd      Zeed<    eddd      Zee   ed<    eddd      Zee   ed<    edd      Zee   ed<   y) ProductFilterRequestz&Request schema for filtering products.Nz*Search across name, sku, code, description)descriptionsearchzFilter by product namenamezFilter by product SKUskuzFilter by product codecodezFilter by category IDcategory_idzFilter by merchant IDmerchant_idr   z6Filter by active status (0=all, 1=active, -1=inactive)	is_activez/Filter by new status (0=all, 1=new, -1=not new)is_newz>Filter by purchase status (0=all, 1=purchase, -1=not purchase)is_purchasez2Filter by sell status (0=all, 1=sell, -1=not sell)is_sellzMinimum unit price filter)ger   	min_pricezMaximum unit price filter	max_pricez+Filter by item type: 'service' or 'product'	item_type)r   r   r   r   r   r   r   str__annotations__r   r   r   r   intr   r   r   r    r!   r#   floatr$   r%   r   r   r   r   r      s   0!$4`aFHSMa2JKD(3-Kt1HIC#I2JKD(3-K!&t9P!QK#Q!&t9P!QK#Q1*bcIsc'XYFCYQ,lmKm(\]GS]!&t?Z![Ix[!&t?Z![Ix[$T7deIx}er   r   N)r   typingr   pydanticr   r    src.apps.products.schemas.commonr   r   src.core.utils.enumsr   r
   r   r   r   r   r   <module>r.      s@     % U -	. 	
	. 	
f9 fr   