
    (h                        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
 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  eddg      Zej7                  de
d       e        ed       eddd       eej8                  dej                   d       edd       ee      fdedededed ed!efd"       Z ej7                  d#e
d$       ee      fd!efd%       Z!y&)'    )	APIRouterDependsQuerystatus)Session)UUID)ResponseModel)	constants)get_db)MAX_PER_PAGE)Optional)execute_rp_rollup)get_all_rollup_logs)RollupLogFilterSchemaRollupLogResponse Rollups)prefixtagsz/logszGet all rollup logs)response_modelsummaryz-created_at)default   zPage number)r   gedescriptionzItems per page)r   r   ler   TzWhether to paginate the results)r   r   payloadsort_bypageper_page	paginateddbc           
         K   t        |||| ||r|j                  d      ng        d {   }t        |t        j                  dd      S 7 !w)N,)r"   r   r    r   r!   r   TzRecord fetched successfullydatastatus_codesuccessmessage)r   splitr	   r   HTTP_200_OK)r   r   r   r    r!   r"   responses          X/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/rollup/routers/rollup.pyget_all_rollup_logs_listr.      s\       (&-c"2 H &&-	 s   (AA"Az/execute-rp-rollupz)Execute RP Rollup for a specific retailerc                 p   K   t        |        d{   }t        |t        j                  dd      S 7 !w)z
    Execute RP Rollup for a specific retailer.
    Args:
        db (Session): Database session.
    Returns:
        ResponseModel: Standard response model containing the result of the operation.
    )r"   NTzRP Rollup executed successfullyr%   )r   r	   r   r+   )r"   r&   s     r-   execute_rp_rollup_for_retailerr0   0   s@      # D &&1	 	s   64"6N)"fastapir   r   r   r   sqlalchemy.ormr   uuidr   $src.apps.base.schemas.response_modelr	   	src.utilsr
   src.core.dependenciesr   src.utils.constantsr   typingr   "src.apps.rollup.services.rp_rollupr   #src.apps.rollup.services.rollup_logr   src.apps.rollup.schemas.rollupr   r   routergetDEFAULT_PER_PAGEstrintboolr.   r0        r-   <module>rD      s   5 5 "  >  ( ,  @ C R	"I;	/GM;PQ%,Y aA=A**!!$	 D6WX&/"
    	 R>  Hst&/ urC   