
    Ѯh@	                    B   d dl mZ ddgZd dlmZ d dl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mZ d dlmZ d dlmZmZ ddlmZmZ ddZ	 ddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZ ed      	 ddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zy)    )annotations	apaginatepaginate)Sequence)AnyOptional)Database)Select)
deprecated)AbstractParams)Config)	flow_exprrun_async_flow)generic_flow)AdditionalDataAsyncItemsTransformer   )create_count_querycreate_paginate_queryc                D    | D cg c]  }i |j                    c}S c c}w N)_mapping)itemsitems     r/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/fastapi_pagination/ext/databases.py_to_mappingsr      s     */0$t}}000s   NT)transformeradditional_dataconvert_to_mappinguse_subqueryconfigc                   K   d }|rt         }t        t        dt         fd      t         fd      |||||             d {   S 7 w)NTc                 <     j                  t                    S )N)r    )	fetch_valr   )dbqueryr    s   r   <lambda>zapaginate.<locals>.<lambda>+   s    6H]i6j)k     c                :    j                  t        |             S r   )	fetch_allr   )
raw_paramsr%   r&   s    r   r'   zapaginate.<locals>.<lambda>,   s    2<<H]^ceoHp;q r(   )async_
total_flowlimit_offset_flowparamsinner_transformerr   r   r!   )r   r   r   r   )	r%   r&   r/   r   r   r   r    r!   r0   s	   ``    `  r   r   r      s[      ( !kl'(qr/#+		
   s   AA
AAzAUse `apaginate` instead. This function will be removed in v0.15.0c          
     D   K   t        | |||||||       d {   S 7 w)N)r/   r   r   r   r    r!   )r   )r%   r&   r/   r   r   r   r    r!   s           r   r   r   6   s7      
'-!	 	 	 	s     )r   Sequence[Any]returnr2   r   )r%   r	   r&   zSelect[tuple[Any, ...]]r/   zOptional[AbstractParams]r   zOptional[AsyncItemsTransformer]r   zOptional[AdditionalData]r   boolr    r4   r!   zOptional[Config]r3   r   ) 
__future__r   __all__collections.abcr   typingr   r   	databasesr	   sqlalchemy.sqlr
   typing_extensionsr   fastapi_pagination.basesr   fastapi_pagination.configr   fastapi_pagination.flowr   r   fastapi_pagination.flowsr   fastapi_pagination.typesr   r   
sqlalchemyr   r   r   r   r    r(   r   <module>rC      s:   "

# $    ! ( 3 , = 1 J A1 (,
 4804##" %
 1 .    	: OP (,
 4804##" %
 1 .    	 Qr(   