
    Ѯh                     "   d g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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  ede      Zede
dedefd       Z	 ddddddeee   e
f   dee   dee   dee   dee   defdZy)paginate    )partial)AnyOptionalTypeVarUnioncast)QuerySet)TopLevelDocumentMetaclass)AbstractParams	RawParams)Config)flow	flow_exprrun_sync_flow)LimitOffsetFlowgeneric_flow)AdditionalDataSyncItemsTransformerT)boundquery
raw_paramsreturnc              #      K   | j                  |j                        j                  |j                        }|D cg c]  }|j                          c}S c c}w wN)skipoffsetlimitto_mongo)r   r   cursoritems       t/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/fastapi_pagination/ext/mongoengine.py_limit_offset_flowr$      sH     ::j//066z7G7GHHF(./DMMO///s   ;AAAN)transformeradditional_dataconfigparamsr%   r&   r'   c          
           t         t              r3t        t        t                  j                         j                          t        t        t         fd      t        t               ||||            S )Nc                  $     j                         S r   )count)r   s   r#   <lambda>zpaginate.<locals>.<lambda>&   s         )
total_flowlimit_offset_flowr(   r%   r&   r'   )
isinstancer   r	   typer   objectsallr   r   r   r   r$   )r   r(   r%   r&   r'   s   `    r#   r   r      sg     %23T!We$,,.224 !67%&8%@#+	
	 	r-   r   ) __all__	functoolsr   typingr   r   r   r   r	   mongoenginer
   mongoengine.base.metaclassesr   fastapi_pagination.basesr   r   fastapi_pagination.configr   fastapi_pagination.flowr   r   r   fastapi_pagination.flowsr   r   fastapi_pagination.typesr   r   r   r$   r1   r    r-   r#   <module>r?      s   ,  6 6   B > , B B B IC01 0h 0I 0/ 0 0 (, 3704#a("#^$ ./	
 n- V 	r-   