
    Ѯh                        U g d Z ddlmZmZmZmZm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 ddlmZ ddlmZmZ dd	lmZ eree   Ze
ed
<   neZ ed      	 	 	 d ddddedeeeef      dee   dee   dee   dee   dedefd       Z ed      	 	 d!dddddedeeeeef         dee   dee   dee   deeeed   f      defd       Z ed      	 	 	 d ddddedeeeef      dee   dee   dee   dee   dedefd       Z ed      	 	 d!ddddedeeeeef         dee   dee   dee   defd       Z y)")	apaginateapaginate_aggregatepaginatepaginate_aggregate    )TYPE_CHECKINGAnyLiteralOptionalUnion)AgnosticCollection)	TypeAlias
deprecated)apply_items_transformercreate_page)AbstractParams)get_mongo_pipeline_filter_end)AdditionalDataAsyncItemsTransformer)verify_params_AgnosticCollectionz_Motor will be deprecated on May 14, 2026. Migration to the PyMongo Async driver is recommended.N)transformeradditional_data
collectionquery_filterparamssortr   r   kwargsreturnc                  K   t        |d      \  }}|xs i }|j                  r| j                  |       d {   nd } | j                  |f|j                  |j
                  d|}	|0t        |t              r |	j                  | n|	j                  |      }	|	j                  |j
                         d {   }
t        |
|d       d {   }t        |f||d|xs i S 7 7 /7 w)Nlimit-offset)skiplimitlengthTasync_totalr   )r   include_totalcount_documentsfindoffsetr"   
isinstancetupler   to_listr   r   )r   r   r   r   r   r   r   
raw_paramsr(   cursoritemst_itemss               n/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/fastapi_pagination/ext/motor.pyr   r      s      'v~>FJ%2L>H>V>V*,,\:::\`EZ__\d
0A0AIYIYd]cdF'1$'>d#FKKPTDU..
(8(8.99E+E;tLLG  b	  ;
 :Ls4   6C.C(BC.:C*;C.C,C.*C.,C.)r   r   aggregation_filter_endaggregate_pipeliner5   autoc                h  K   t        |d      \  }}|xs g }g }|j                  .|j                  d|j                  |j                  xs dz   i       |j                  |j                  d|j                  i       |+|dk(  rt	        |      }|d | }||d  }|j                  |       | j                  g |dddig|d	i      }	|	j                  d 
       d {   ^}
}|
d   }	 |
d   d   d   }t        ||d       d {   }t        |f||d|xs i S 7 @# t        $ r d}Y 8w xY w7 *w)Nr    z$limitr   z$skipr7   z$facetz$countr(   )metadatadatar#   r:   r9   Tr%   r'   )r   r"   appendr,   r   extend	aggregater/   
IndexErrorr   r   )r   r6   r   r   r   r5   r0   paginate_datatransform_partr1   r:   _r2   r(   r3   s                  r4   r   r   8   s     'v~>FJ+1rM#h
(8(8J<M<M<RQR(STU$gz'8'89:)!V+%BCU%V"+,C-CD/0F0GH^,!!	
	
 "*G!4 5)	

F ^^4^00HD1LEZ #G, ,E;tLLG  b	  1
   MsB   CD2DD2)D 4D2D0D2D-*D2,D--D2zAUse `apaginate` instead. This function will be removed in v0.15.0c          
      B   K   t        d| |||||d| d {   S 7 w)N)r   r   r   r   r   r    )r   )r   r   r   r   r   r   r   s          r4   r   r   p   s@       !'    s   zKUse `apaginate_aggregate` instead. This function will be removed in v0.15.0c                >   K   t        | ||||       d {   S 7 w)Nr   r6   r   r   r   )r   rE   s        r4   r   r      s.      %-'   s   )NNN)NN)!__all__typingr   r   r	   r
   r   
motor.corer   typing_extensionsr   r   fastapi_pagination.apir   r   fastapi_pagination.basesr   fastapi_pagination.ext.utilsr   fastapi_pagination.typesr   r   fastapi_pagination.utilsr   r   __annotations__dictr   listintr   r   r   rC       r4   <module>rT      s    @ ? ) 3 G 3 F J 2%7%<<, mn .2'+	 4804#4S>* ^$ 3-	 /0 n-  	 o: mn :>'+4
 4804DH4#4 d38n!564 ^$4
 /04 n-4 %U3+?%@A4 	4 o4n OP .2'+	 4804#4S>* ^$ 3-	 /0 n-  	 Q* YZ :>'+
 4804# d38n!56 ^$
 /0 n- 	 [rS   