
    Ge<                        d dl Z d dl mZmZ d dlmZ d dlmZ d dl	m
Z
 	  eddg          Ze                    d	d
dej        ej                   e j         e
e                    fdededz  dedej        fd            Ze                    dddej                   e j         e
e                    fdededeeef         fd            Ze                    ddddej        ej                   e j         e
e                    fdej        dedej        fd            Ze                    d d!d"dej        #           e j         e
e                    fdededeeef         fd$            Ze                    d%d&d'd(ej        #           e j         e
e                    fdedededeeef         fd)            Ze                    d*d&d+d,ej        #           e j         e
e                    fdedededeeef         fd-            Ze                    d.d/d0d1ej        #           e j         e
e                    fded2ej        dedeeef         fd3            Ze                    d4d5d6d7ej        #           e j         e
e                    fded8ededeeef         fd9            ZdS ):    N)	APIRouterstatus)shopping_cart)ShoppingCartRepository)get_repositoryz/shopping_cartr   )prefixtagsz/{partner_id}getItemsInShoppingCartzshopping_cart::get-by-id)pathoperation_idnameresponse_modelstatus_code)	repo_type
partner_idagent_id
repositoryreturnc                 N   K   |dk    rd }|                     | |           d {V S )N)get_by_partner_id)r   r   r   s      R/Users/daniilossinkin/PycharmProjects/ShopsBackend/src/api/routes/shopping_cart.pyget_shopping_cartr      s>       2~~--j(CCCCCCCCC    z/{id}zshopping_cart::delete-by-idremoveItemFromShoppingCart)r   r   r   idc                 D   K   |                     |            d {V }d|iS )Nremoved)remove)r   r   results      r   remove_itemr!      s8       $$R((((((((Fvr    zshopping_cart::createaddItemToShoppingCartzadd item to shopping cart)r   r   r   summaryr   r   itemc                 @   K   |                     |            d {V }|S )N)add)r%   r   
added_items      r   add_itemr)   ,   s1       "~~d++++++++Jr   z{partner_id}zshopping-cart::clearclearShoppingCart)r   r   r   r$   r   c                 D   K   |                     |            d {V }d|iS Nsuccess)clear)r   r   r   s      r   clear_shopping_cartr/   <   s8       $$Z00000000Gwr   zcheck/{agent_id}/{partner_id}zshopping-cart::checkcheckShoppingCartzZCheck the allowance of order in partner tool and returns some magic number. (legacy logic)c                 F   K   |                     | |           d {V }d|iS )Nvalue)
check_cart)r   r   r   checkeds       r   check_shopping_cartr5   K   s>       ))*h????????G r   zcount/{agent_id}/{partner_id}countShoppingCartz(Returns number of items in shopping cartc                 F   K   |                     | |           d {V }d|iS )Ncount)count_cart_items)r   r   r   r8   s       r   r5   r5   ]   s>       --j(CCCCCCCCE r   z/change_delivery_dates/{id}zshopping-cart::change-dateschangeDeliveryDatezMChanges the delivery date of items in the shopping cart. Mainly used in mobi.delivery_datesc                 F   K   |                     | |           d {V }d|iS r,   )change_delivery_date)r   r;   r   r-   s       r   r=   r=   o   s>       33BGGGGGGGGG7 r   z!/set-partner-delivery-number/{id}z"shopping-cart::set-delivery-numbersetPartnerDeviveryNumberzUSets partner delivery number for selected item in shopping cart. Mainly used in mobi.numberc                 F   K   |                     | |           d {V }d|iS r,   )set_partner_delivery_number)r   r?   r   r-   s       r   rA   rA      s>       ::2vFFFFFFFFG7 r   ) fastapir   r   src.data.model.schemasr   schema#src.data.repositories.shopping_cartr   
Repositorysrc.api.dependenciesr   routergetShoppingCartHTTP_200_OKDependsintr   deletedictstrboolr!   postShoppingCartItemShoppingCartItemInsertr)   r/   r5   ShoppingCartItemChangeDater=   rA    r   r   <module>rW      s.    % % % % % % % % : : : : : : T T T T T T / / / / / / 
*/1B	C	C	C 	)	#&"    "1*1U1U1U!V!VD DD*D D 	D D D D 	&-"	    "1*1U1U1U!V!V  
#t)_    		 ('*"    "1*1U1U1U!V!V +     		$"    "1*1U1U1U!V!V      
#t)_        	(	$h"    "1*1U1U1U!V!V   
#s(^	    	(	$6"    "1*1U1U1U!V!V   
#s(^	    	&	&%["    "1*1U1U1U!V!V 9  
#t)_	    	,	-+c"    "1*1U1U1U!V!V   
#t)_	     r   