o
    /iD                     @   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mZmZ d dlmZ d dlmZ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"#deej$eefdefddZ&e"#deej$eef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,Z0e"j(d-edd d d!eej$fd#e/d$e/d%ee) d.ej1fd/d0Z2d!S )1    )	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add_favourite_workforce_service add_restricted_workforce_service)get_current_userdetails)CustomerCreateCustomerUpdateCustomerCustomersListWorkforceAssign)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_modelr6   r6   =/var/www/html/moveengine/app/v1/routers/platform/customers.pycreate_customer   s>   
rF   z/favourite-workforcepayloadc                       t | |I d H S N)r   rG   r;   r<   r6   r6   rE   favourite_workforceH      rK   z/restricted-workforcec                    rH   rI   )r   rJ   r6   r6   rE   restricted_workforceQ   rL   rM   z/{account_id}r!   c                    s   t d t| |I d H S )N1191919191919191919191991199)printr
   r!   r;   r6   r6   rE   get_customerY   s   rQ   updatec                    s   t | ||I d H S rI   )r   )r!   rR   r;   r6   r6   rE   update_customer^   s   rS   c                    rH   rI   )r   rP   r6   r6   rE   delete_customerb   s   rT   
   Nascskiplimitqcustomer_type	from_dateto_datesort_by
sort_orderc                    s   t | |||||||||	|
S rI   )r   )rW   rX   rY   rZ   r!   r[   r\   r]   r^   r;   r<   r6   r6   rE   get_customersj   s   r_   z/listr;   c                    s   t | ||I d H S rI   )r   )rW   rX   rY   r;   r6   r6   rE   list_customers|   s   r`   )3fastapir   r   r   r   app.dbr   typingr   r   "app.v1.services.platform.customersr	   r
   r   r   r   r   r   r   app.v1.dependencies.authr    app.v1.models.platform.customersr   r   r   r   r   app.v1.models.saas.usersmodelr   r   app.v1.services.saas.usersr   r   r   routerpostget_mongo_dbrF   rK   rM   r7   strrQ   putrS   deleterT   intr_   MongoDBr`   r6   r6   r6   rE   <module>   s    (1	