o
    Ah                     @   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	 d dl
mZmZmZmZmZmZ d dlmZ d dlmZmZmZmZ d dlmZmZ d d	lmZmZmZ e Zej d
edeej!eefdedefddZ"ej#dedeej!fde$fddZ%ej&dedeej!fde$defddZ'ej(dedeej!fde$fddZ)ej#d
edd ddddddddeej!eefde*de*de$de$de$d ee	 d!ee	 d"ee$ d#ee$ fd$d%Z+ej#d&edd ddeej!fde*de*dee$ d'ej,fd(d)Z-dS )*    )	APIRouterDependsHTTPExceptionBackgroundTasks)database)Optional)datetime)create_customer_serviceget_customer_serviceupdate_customer_servicedelete_customer_servicelist_customers_serviceget_customers_service)get_current_userdetails)CustomerCreateCustomerUpdateCustomerCustomersList)UserBaseEmailAction)create_user_servicesend_email_verification_serviceread_user_serviceby_email/)response_modelbackground_taskscustomerc                    s   t ||I d H }d}|jd|ddd}tdi |}t|| | t|j|}|d}	|j||	|j d|j |j|j	d ddddd	d	d
dd}
t
di |
}t|| | |S )NzDefault@123signup
account_idh   )emailsactionr   roleverificationCode  TF)emailpasswordr#   namemobiler   date_of_birthgoogle_connectlinkedin_connecttokenpicurl	is_activeis_verifiedmobile_verifiedroles )r	   r&   getr   r   r   
first_name	last_namephoner   r   r   )r   r   dbcurrent_userresultdefault_passwordemail_actionemail_action_modelresVerificationCodeverification_code_resuser
user_modelr3   r3   =/var/www/html/moveengine/app/v1/routers/platform/customers.pycreate_customer   s>   
rC   z/{account_id}r   c                    s   t d t| |I d H S )N1191919191919191919191991199)printr
   r   r8   r3   r3   rB   get_customerH   s   rG   updatec                    s   t | ||I d H S N)r   )r   rH   r8   r3   r3   rB   update_customerM   s   rJ   c                    s   t | |I d H S rI   )r   rF   r3   r3   rB   delete_customerQ   s   rK   
   Nascskiplimitqcustomer_type	from_dateto_datesort_by
sort_orderc                    s   t | |||||||||	|
S rI   )r   )rN   rO   rP   rQ   r   rR   rS   rT   rU   r8   r9   r3   r3   rB   get_customersY   s   rV   z/listr8   c                    s   t | ||I d H S rI   )r   )rN   rO   rP   r8   r3   r3   rB   list_customersk   s   rW   ).fastapir   r   r   r   app.dbr   typingr   r   "app.v1.services.platform.customersr	   r
   r   r   r   r   app.v1.dependencies.authr    app.v1.models.platform.customersr   r   r   r   app.v1.models.saas.usersmodelr   r   app.v1.services.saas.usersr   r   r   routerpostget_mongo_dbrC   r4   strrG   putrJ   deleterK   intrV   MongoDBrW   r3   r3   r3   rB   <module>   s     1	