
    V
h@                        S SK JrJrJrJr  S SKJr  S SKJr  S SK	J
r
JrJrJr  S SKJr  S SKJr  S SKJr  \" 5       r\R-                  S\
S	9\" \R.                  5      4S
\S\R0                  4S jj5       r\R5                  S\S	9S SSSS\" \R.                  5      \" \5      4S\S\S\\   S\\   S\\   S\R0                  S\4S jj5       r\R5                  S\
S	9\" \R.                  5      4S\S\R0                  4S jj5       r\R-                  S\
S	9\" \R.                  5      \" \5      4S\S
\S\S\R0                  S\4
S jj5       r \RC                  S\
S	9\" \R.                  5      4S\S\R0                  4S jj5       r"g)    )	APIRouterHTTPExceptionDependsRequest)Optional)database)PartnerPartnerCreatePartnerUpdatePartners)User)get_current_userdetails)partners/)response_modelpartnerdbc                      [         R                  " X5      nU$ ! [         a  n[        S[	        U5      S9eS nAf[
         a  n[        SSS9eS nAff = f)N  status_codedetail  Internal server error)partner_servicecreate_partner_service
ValueErrorr   str	Exception)r   r   created_partnervees        JC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\routers\saas\partners.pycreate_partnerr$      sX    
M)@@M =CG<< M4KLLMs    
A7A
AA
   Nskiplimitqpartner_type	is_activecurrent_userc           	      r     [         R                  " XX#XEU5      nU$ ! [         a  n[        SSS9eS nAff = fNr   r   r   )r   get_partners_servicer   r   )	r&   r'   r(   r)   r*   r   r+   resultr"   s	            r#   get_partnersr0      sE    M 55d1T]cop M4KLLMs    
6
16z/{partner_id}
partner_idc                      [         R                  " X5      nUc
  [        SSS9eU$ ! [         a  n[        SS[	        U5       3S9eS nAff = f)N  Partner not foundr   r   zError retrieving partner: )r   get_partner_servicer   r   r   )r1   r   r   r"   s       r#   get_partnerr6   (   s_    
[!55jE?C8KLL [6PQTUVQWPX4YZZ[   $' 
AAArequestc                      [         R                  " XXC5      nU$ ! [         a  nUeS nAf[         a  n[        SSS9eS nAff = fr-   )r   update_partner_servicer   r   )r1   r   r8   r   r+   updated_partnerher"   s           r#   update_partnerr=   5   sO    M)@@Vbg  M4KLLMs    
A'A
>Ac                      [         R                  " X5      nUc
  [        SSS9eU$ ! [         a  n[        SS[	        U5       3S9eS nAff = f)Nr3   r4   r   r   zError deleting partner: )r   delete_partner_servicer   r   r   )r1   r   deleted_partnerr"   s       r#   delete_partnerrA   E   s^    
Y)@@P"C8KLL Y6NsSTvh4WXXYr7   )#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   boolr0   r6   r=   deleterA        r#   <module>rS      s   > >   W W . < <	S) #8#8#89
M
M
M *
M C)"& $"8#8#89 !89M
MM }M 3-	M
 ~M 	M M *M OG4 #8#8#89
[
[
[ 5
[ _W5
 #8#8#89 !89MMM M 		M
 M 6M w7 #8#8#89
Y
Y
Y 8
YrR   