
    {iD                     |    d Z ddlmZ ddlmZmZ  G d de      Z G d de      Z G d d	e      Z G d
 de      Z	y)z
Request schema definitions.
    )Optional)	BaseModelFieldc                   T    e Zd ZU dZ eddd      Zeed<    edddd	      Zeed
<   y)PaginationRequestzBase pagination request schema.   zPage number (1-indexed))gedescriptionpage   d   zItems per page)r	   ler
   per_pageN)	__name__
__module____qualname____doc__r   r   int__annotations__r        \/var/www/html/hwPaymentPortal-be-dev/hw-payment-portal-api/src/apps/base/schemas/requests.pyr   r   	   s/    )aA+DED#E"s8HIHcIr   r   c                   ^    e Zd ZU dZ edddd      Zeed<    edd	
      Ze	e
e      ed<   y)SearchRequestzBase search request schema..r      zSearch query)
min_length
max_lengthr
   queryNzFields to search inr
   fields)r   r   r   r   r   r   strr   r    r   listr   r   r   r   r      s5    %sqSnUE3U"':O"PFHT#YPr   r   c                   l    e Zd ZU dZ edd      Zeed<    edd      Zeed<    edd	      Z	eed
<   y)FilterRequestzBase filter request schema..zField to filter byr   fieldeqz4Filter operator (eq, ne, gt, lt, gte, lte, in, like)operatorzFilter valuevalueN)
r   r   r   r   r   r%   r!   r   r'   r(   r   r   r   r$   r$      s:    %s(<=E3=$,bcHccs7E37r   r$   c                   P    e Zd ZU dZ edd      Zeed<    eddd	      Zeed
<   y)SortRequestzBase sort request schema..zField to sort byr   r%   ascz^(asc|desc)$zSort direction)patternr
   	directionN)	r   r   r   r   r   r%   r!   r   r-   r   r   r   r*   r*      s+    #s(:;E3;5.FVWIsWr   r*   N)
r   typingr   pydanticr   r   r   r   r$   r*   r   r   r   <module>r0      sH     %J	 JQI Q8I 8X) Xr   