
    Ѯh
                        d dgZ ddlmZ ddlmZ ddlmZ ddlmZmZm	Z	m
Z
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZmZmZ ddlmZmZ ddlm Z m!Z! ddl"m#Z#  e	ded      Z$dee$   dee$   fdZ%edee$   defd       Z&	 d"ddddde
ee$   e'e$   f   dee   dee!   dee    dee   defdZ( ed       	 d"ddddde
ee$   e'e$   f   dee   dee!   dee    dee   defd!       Z)y)#	apaginatepaginate    )suppress)copy)partial)AnyOptionalTypeVarUnioncast)Select)Count)Table)
deprecated)AbstractParams)Config)flow	flow_exprrun_async_flow)	TotalFlowgeneric_flow)AdditionalDataSyncItemsTransformer   )generic_query_apply_params	TTable_coT)bound	covariantqueryreturnc                     t        |       } || j                        }|j                  D ]:  }t        t              5  t        ||t        t        | |                   d d d        < |S # 1 sw Y   HxY wN)typetable	__slots__r   AttributeErrorsetattrr   getattr)r   
select_clsqss       p/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/fastapi_pagination/ext/piccolo.py_copy_queryr-      so    eJ5;;A!! 3n% 	3Aq$wua012	3 	33 H	3 	3s   !A))A2	c              #      K   t        |       }g |j                  _        g |j                  j                  _        |j                  t                     j                         }|rt        t        |d         S y w)Ncount)r-   columns_delegateselected_columnsorder_by_delegate	_order_byorder_by_itemscolumnsr   firstr   int)r   count_queryrows      r,   _total_flowr:   $   si      e$K46K  1=?K!!++:##EG,224
4C
CW&&s   A7A9N)transformeradditional_dataconfigparamsr;   r<   r=   c                    K   t         t              s j                          t        t	        dt        t               t         fd      ||||             d {   S 7 w)NTc                 .    t        t              |       S r"   )r   r-   )
raw_paramsr   s    r,   <lambda>zapaginate.<locals>.<lambda>C   s    ;UVabgVhjt;u     )async_
total_flowlimit_offset_flowr>   r;   r<   r=   )
isinstancer   selectr   r   r   r:   r   r   r>   r;   r<   r=   s   `    r,   r   r   4   s_      eV${E2'(uv#+	

 
 
 
s   AA#A!A#zAUse `apaginate` instead. This function will be removed in v0.15.0c                >   K   t        | ||||       d {   S 7 w)N)r>   r;   r<   r=   )r   rI   s        r,   r   r   L   s.      '   s   r"   )*__all__
contextlibr   r   	functoolsr   typingr   r	   r
   r   r   piccolo.queryr   piccolo.query.methods.selectr   piccolo.tabler   typing_extensionsr   fastapi_pagination.basesr   fastapi_pagination.configr   fastapi_pagination.flowr   r   r   fastapi_pagination.flowsr   r   fastapi_pagination.typesr   r   utilsr   r   r-   r:   r#   r   r    rC   r,   <module>rZ      s  

#    6 6   .  ( 3 , C C < I -Ku=	vi( VI->  vi( Y  " (, 3704#	"DO34^$ ./	
 n- V 	0 OP (, 3704#	"DO34^$ ./	
 n- V 	 QrC   