
    ye                        d dl 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 d d	lmZ  ed
dg          Ze                    dddd           e j         ee	j                             e j         ee                    fdej        de	j        dedeeef         fd            Ze                    ddddej                   e j         ee	j                            fdededz  dedz  d ed!ed"ed#ede	j        dej        fd$            Ze                    d%d&d'dej                    e j         ee	j                            fd(ede	j        dej         fd)            Z!e                    d*d+d,-           e j         ee	j                            fde	j        fd.            Z"dS )/    N)FileResponse)get_repository)Shop)order)AgentRepository)	APIRouterResponse)generate_xml)
send_orderz/orderr   )prefixtagsz/order/z*Puts new order and sends email to customerputOrderzorders::order)pathsummaryoperation_idname)	repo_typedo_orderrepo
agent_reporeturnc                    K    |j         |            d {V }|                    |j                   d {V }|                    |j                   d {V }t	          |||| j                   d|j        iS )Nid)r   get_partner
partner_idget_partner_emailr   shopr   )r   r   r   
done_orderpartneremails         J/Users/daniilossinkin/PycharmProjects/ShopsBackend/src/api/routes/order.pyr   r      s       %t}X........J**:+@AAAAAAAAG..z/DEEEEEEEEEuj'8=999*-      z/order/{partner_id}	getOrdersz=Get paginated list of orders according to selected parameterszorders::get-orders)r   r   r   r   response_modelr   agent_idsales_order_type_coder   	from_itemtakecurrent_seasonc           	      h   K   t          j        | ||||||          } |j        |           d {V S )N)r   r%   r&   r   r'   r(   r)   )schemaGetOrder
get_orders)	r   r%   r&   r   r'   r(   r)   r   	get_orders	            r!   r-   r-   $   sY      " 3%  I !+++++++++r"   z/select-order/{id}getOrderzGet order by idr   c                 6   K    |j         |            d {V }|S )N)r.   )r   r   r   s      r!   r.   r.   A   s0       !$.$$$$$$$$ELr"   z/importsgetOrderImportzorders::get-import)r   r   r   c                 l   K    | j                      d {V }t          t          |          d          S )Nzapplicaion/xml)content
media_type)get_unprocessed_ordersr	   r
   )r   orderss     r!   
get_importr7   P   sF       /4.00000000FL00=MNNNNr"   )#fastapistarlette.responsesr   src.api.dependenciesr   src.data.model.schemas.shopr   src.data.repositoriesr   r   src.data.repositories.agentr   r   r	   src.data.model.schemasr+   src.data.exports.orderr
   src.mailing.mailingr   routerpostDependsOrderRepositoryDoOrderdictstrintgetPagedOrdersboolr-   Orderr.   r7    r"   r!   <module>rN      sb    , , , , , , / / / / / / , , , , , , / / / / / / 7 7 7 7 7 7 ' ' ' ' ' ' ' ' 2 2 2 2 2 2 / / / / / / * * * * * *	('	3	3	3 	8		    &5W_^^dNb5c5c5c%d%d&5gonn6_6_6_&`&`! !.!"! $! 
#s(^	! ! ! ! 	K	%    &5W_^^dNb5c5c5c%d%d, ,,*,  #Tz, 	,
 , , , ", , , , ,, 		<    &5W_^^dNb5c5c5c%d%d " \    	!		    3B'/..[_[oBpBpBp2q2q O O4/ O O O O O Or"   