o
    Q?h                     @   s   d dl mZmZmZmZ defddZdd Zdd Zd	d
 Z	dd Z
d'ddZd'ddZdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zdefd$d%Zd&S )(    )SERVER_TIMESTAMPArrayRemoveauthdbuidc                 C   s&   t d|  }|jr| S d S )Nusers)r   
collectiondocumentgetexiststo_dict)r   ref r   D/var/www/html/riverr-enterprise-integrations-main/functions/Users.pygetUser   s   r   c              
   C   sD   z
t j| |d}|W S  ty! } zt| W Y d }~d S d }~ww )N)password)r   update_user	Exceptionprint)r   r   userer   r   r   updateUserPassword
   s   r   c              
   C   sD   z
t | }| W S  ty! } zt| W Y d }~d S d }~ww )N)r   create_custom_tokendecoder   r   )r   tokenr   r   r   r   generateCustomToken   s   

r   c              
   C   N   zt | }t|j}||fW S  ty& } zt| W Y d }~dS d }~ww N)NN)r   get_user_by_emailr   r   r   r   )emailr   userDatar   r   r   r   	checkUser      


r!   c              
   C   r   r   )r   get_userr   r   r   r   )r   r   r    r   r   r   r   checkUserByUid$   r"   r$   Fc                 K   s   zRt j| ||d}|r,td|jjtd	|j|j||jgdtdg| d|dd td|jjtd	|j	|j|j
|sA|n|jtt||d|dd |W S  tyi } zt| W Y d }~d S d }~ww )
N)r   r   display_nameenterprisesTapp.riverr.appidr   nameadmins	isProUser	createdAt	hostnamesr   merger   r   r   displayNameenterpriseIdr-   	updatedAtisEnterpriseAdminr,   r   )r   create_userr   r   r	   r   setdictr   r   r%   r   r   )r   r   r2   r3   r,   kwargsr   r   r   r   r   
createUser-   sR   	
	r:   c                 K   s   zA|r t d| jtd| | || gdtdg|d|dd t d| jtd|| ||s1|n| tt||d|dd | W S  tyX } zt| W Y d }~d S d }~ww )	Nr&   Tr'   r(   r/   r   r1   r   )r   r   r	   r7   r8   r   r   r   )r   r   r2   r3   r,   r9   r   r   r   r   createUserDataS   sH   	

	r;   c              
   C   sR   zt d| t|d W d S  ty( } zt| W Y d }~d S d }~ww )Nr   )r3   )r   r   r	   updater8   r   r   )r   r3   r   r   r   r   updateUserEnterpriseu   s   "r=   c              
   C   sp   z t ddd|  }|D ]}|jtt| gd qW d S  ty7 } zt	| W Y d }~d S d }~ww )NmanualProductsactiveShopsarray_contains)r?   )
r   r   wherer
   	referencer<   r8   r   r   r   )shopIddocsdocr   r   r   r   deleteManualProducts{   s   rF   c              
   C   sv   z#t ddd| dd| }|D ]}|j  t|j qW d S  ty: } zt	| W Y d }~d S d }~ww )Nordersr   ==rC   )
r   r   rA   r
   rB   deletedeleteOrderItemsr)   r   r   r   rC   rD   rE   r   r   r   r   deleteOrders   s   "
rL   c              
   C   sl   zt ddd| dd| }|D ]}|j  qW d S  ty5 } zt| W Y d }~d S d }~ww )Nproductsr   rH   rC   r   r   rA   r
   rB   rI   r   r   rK   r   r   r   deleteProducts   s   "rO   c              
   C   sd   zt ddd| j }|D ]}|j  qW d S  ty1 } zt| W Y d }~d S d }~ww )N
orderItemsorderIdrH   rN   )rQ   rD   rE   r   r   r   r   rJ      s   rJ   c              
   C   s   z/t ddd|  }|D ]}t d|j  t d|j  |j  qW d S  tyF } zt	| W Y d }~d S d }~ww )Nshopsr   rH   shopsCredentialsfulfillmentServices)
r   r   rA   r
   r	   r)   rI   rB   r   r   )r   rD   rE   r   r   r   r   deleteShops   s   rU   c              
   C   J   zt d|   W d S  ty$ } zt| W Y d }~d S d }~ww )NorderUpdatesr   r   r	   rI   r   r   rC   r   r   r   r   deleteOrderUpdates      rZ   c              
   C   rV   )NproductUpdatesrX   rY   r   r   r   deleteProductUpdates   r[   r]   c              
   C   sj   zt d|  }|jr| dg d }|W S W d S  ty4 } zt| W Y d }~d S d }~ww )Nr&   r+   r   )r   r   r	   r
   r   r   r   r   )r3   r   r   r   r   r   r   getEnterpriseAdmin   s   r^   c                 K   s$   t d|  d}|j|dd |S )Nzusers/z/settings/tasksTr/   )r   r	   r7   )r   r9   r   r   r   r   updateUserTasks   s   r_   N)F)configs.firebaser   r   r   r   strr   r   r   r!   r$   r:   r;   r=   rF   rL   rO   rJ   rU   rZ   r]   r^   r_   r   r   r   r   <module>   s$    

	
&"	
