
    ߶h                     ~   d dl mZmZmZmZ d dlmZm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 d dlmZ d d	lmZ  e       Zej9                  d
ed       e        edd       eddd       eej:                  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y)    )	APIRouterDependsHTTPExceptionstatus)PathQuery)Session)RetailerCreateSchemaRetailerListOutputSchemaRetailerUpdateSchemaRetailerOutputSchemaRetailerFilterSchema)get_all_retailers)get_db)	constants)get_current_user)ResponseModel zGet all retailers)response_modelsummaryz-date_createdzSort by fields, prefix with '-' for descending order. Allowed fields: code, name, total_records, total_prices, job_date, date_start, date_end, date_created, last_updated. Multiple fields can be separated by commas.)defaultdescription   zPage number)r   ger   zItems per page)r   r   ler   TzHWhether to paginate the results. If false, all results will be returned.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Retailers fetched successfully)datastatus_codesuccessmessage)get_all_retailers_servicesplitr   r   HTTP_200_OK)r   r   r   r   r    r!   responses          a/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/wine/retailer/routers/retailer.pyr   r      s\     0 .&-c"2 H &&0	 s   (AA"AN)"fastapir   r   r   r   fastapi.paramsr   r   sqlalchemy.ormr	   'src.apps.wine.retailer.schemas.retailerr
   r   r   r   r   (src.apps.wine.retailer.services.retailerr   r(   src.core.dependenciesr   	src.utilsr   src.utils.guardr   $src.apps.base.schemas.response_modelr   routergetDEFAULT_PER_PAGEMAX_PER_PAGEstrintbool     r,   <module>r?      s    = = & "  )  , >	 B}6IJ$+I: aA=A**!!$	 ^ &/+%!%% % %" #%* 	+% K%r>   