
    Ѯh[              
         U d dl mZ ddgZd dlZd dlmZmZmZmZm	Z	m
Z
 d dlmZ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 d dlmZ d dlmZmZmZm Z  ddl!m"Z# ddl!m$Z% 	 d dl&m'Z'  ed      Z* ede      Z+e	ee+   e,e+   e'e+   ee*   f   Z-de.d<   e	ee+   ee*   f   Z/de.d<   d"dZ0e
	 d#ddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d$d       Z$e
 ed      	 d#ddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%d              Z$	 d#ddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&d Z$	 d#ddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%d!Z"y# e($ r  ed      Z) G d dee)         Z'Y w xY w)'    )annotations	apaginatepaginateN)AnyGenericOptionalTypeVarUnionoverload)AsyncConnectionAsyncSession)SessionSQLModelselect)SelectSelectOfScalar)	TypeAlias
deprecated)AbstractParams)Config)AdditionalDataAsyncItemsTransformerItemsTransformerSyncItemsTransformer   )r   )r   )
SelectBase_Tc                      e Zd Zy)r   N)__name__
__module____qualname__     q/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/fastapi_pagination/ext/sqlmodel.pyr   r      s    r#   r   T	TSQLModel)boundr   _InputQuery_InputCountQueryc               H    t        | t        t        f      st        |       } | S N)
isinstancer   r   r   )querys    r$   _prepare_queryr.   -   s    efn56uLr#   Tcount_querysubquery_counttransformeradditional_datauniqueconfigc                    y r+   r"   	sessionr-   paramsr0   r1   r2   r3   r4   r5   s	            r$   r   r   4   s     	r#   zAUse `apaginate` instead. This function will be removed in v0.15.0c                  K   y wr+   r"   r7   s	            r$   r   r   D   s      	s   c                   t        |      }|t        |      }t        | t        t        f      r0t	        j
                  dt        d       t        | ||||||||	      S t        | ||||||||	      S )NzJUse `apaginate` instead. This function overload will be removed in v0.15.0   )
stacklevelr/   )	r.   r,   r   r   warningswarnDeprecationWarningr   	_paginater7   s	            r$   r   r   U   s     5!E$[1'L/:;X	
 #)#+

 
	
 %'
 
r#   c               v   K   t        |      }|t        |      }t        | ||||||||	       d {   S 7 w)Nr/   )r.   
_apaginater7   s	            r$   r   r      sT      5!E$[1%'
 
 
 
s   0979)r-   _InputQuery[TSQLModel, T]returnrD   r+   )r8   r   r-   rD   r9   Optional[AbstractParams]r0   (Optional[_InputCountQuery[TSQLModel, T]]r1   boolr2   zOptional[SyncItemsTransformer]r3   Optional[AdditionalData]r4   rH   r5   Optional[Config]rE   r   )r8   z$Union[AsyncSession, AsyncConnection]r-   rD   r9   rF   r0   rG   r1   rH   r2   zOptional[AsyncItemsTransformer]r3   rI   r4   rH   r5   rJ   rE   r   )r8   z-Union[AsyncSession, AsyncConnection, Session]r-   r   r9   rF   r0   zOptional[Any]r1   rH   r2   zOptional[ItemsTransformer]r3   rI   r4   rH   r5   rJ   rE   r   )1
__future__r   __all__r>   typingr   r   r   r	   r
   r   sqlalchemy.ext.asyncior   r   sqlmodelr   r   r   sqlmodel.sql.expressionr   r   typing_extensionsr   r   fastapi_pagination.basesr   fastapi_pagination.configr   fastapi_pagination.typesr   r   r   r   
sqlalchemyr   rC   r   rA   #sqlmodel.sql._expression_select_clsr   ImportErrorr   r%   r&   typer(   __annotations__r)   r.   r"   r#   r$   <module>rZ      s(   "

#  C C @ . . : 3 3 , r r / -> CLKx0	 
9Oy1Y  $
91 )  
 (,	
 =A2604#		$	 %	
 :	 	 0	 .	 	 	 		 
	 
OP (,	
 =A3704#	1	$	 %	
 :	 	 1	 .	 	 	 		 Q 
	$ (,.
 "&.204#.:.. %.
 . . ,. .. . . 	.h (,
 =A3704#1$ %
 :  1 .   	a  	BWR[ s   'E	 	E'&E'