o
    ̿Si                     @   s  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
mZmZmZ d dlmZ d dlmZ d dlmZ e Zejde
d	eejfd
edejfddZejded	d ddddeejeefdededee dee dee dejdefddZejde
d	eejfdedejfddZejde
d	eejeefded
ededejdef
ddZ ej!de
d	eejfdedejfdd Z"dS )!    )	APIRouterHTTPExceptionDependsRequest)Optional)database)PartnerPartnerCreatePartnerUpdatePartners)User)get_current_userdetails)partners/)response_modelpartnerdbc              
   C   s^   z	t | |}|W S  ty } ztdt|dd }~w ty. } ztdddd }~ww )N  status_codedetail  Internal server error)partner_servicecreate_partner_service
ValueErrorr   str	Exception)r   r   created_partnervee r!   :/var/www/html/Trade-python/app/v1/routers/saas/partners.pycreate_partner   s   r#   
   Nskiplimitqpartner_type	is_activecurrent_userc           	   
   C   sB   zt | ||||||}|W S  ty  } ztdddd }~ww Nr   r   r   )r   get_partners_servicer   r   )	r%   r&   r'   r(   r)   r   r*   resultr    r!   r!   r"   get_partners   s   
r.   z/{partner_id}
partner_idc              
   C   V   zt | |}|d u rtddd|W S  ty* } ztddt| dd }~ww )N  Partner not foundr   r   zError retrieving partner: )r   get_partner_servicer   r   r   )r/   r   r   r    r!   r!   r"   get_partner(      r4   requestc              
   C   sV   zt | |||}|W S  ty } z|d }~w ty* } ztdddd }~ww r+   )r   update_partner_servicer   r   )r/   r   r6   r   r*   updated_partnerher    r!   r!   r"   update_partner5   s   r:   c              
   C   r0   )Nr1   r2   r   r   zError deleting partner: )r   delete_partner_servicer   r   r   )r/   r   deleted_partnerr    r!   r!   r"   delete_partnerE   r5   r=   )#fastapir   r   r   r   typingr   app.dbr   app.v1.models.saas.partnersr   r	   r
   r   app.v1.models.saas.usersmodelr   app.v1.dependencies.authr   app.v1.services.saasr   r   routerpostget_mongo_dbMongoDBr#   getintr   boolr.   r4   r:   deleter=   r!   r!   r!   r"   <module>   s    