o
    |h8
                     @   s  d dl mZ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 ddlmZ ddlmZmZmZmZmZ e Zejd	ed
eejfdededejfddZejded
d dddeejeefde d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fde!dedejfdd Z&ej'ded
ed!d"d#eejfde!dejfd$d%Z(ed&eejeefdejde"fd'd(Z)dS ))    )	APIRouterDependsHTTPExceptionBackgroundTasksPath)JSONResponse)Optional)database   )CommunicationEmailCommunicationEmailCreateCommunicationEmailUpdateCommunicationEmailResponseListCommunicationEmailResponse)get_current_userdetails)"create_communication_email_service get_communication_emails_service read_communication_email_service"update_communication_email_service"delete_communication_email_service/)response_modelpayloadbackground_tasksdbc                 C      t | ||S N)r   )r   r   r    r   C/var/www/html/moveengine/app/v1/routers/saas/communication_email.pycreate_email      r   z/list/
   Nskiplimitqaccount_viewcurrent_userc                 C   s   | d}t|| |||||S )N
account_id)getr   )r"   r#   r$   r%   r   r&   r'   r   r   r   list_emails   s   
	r)   z/{email_id}email_idc                 C   s   t | |}|stddd|S )Ni  zEmail record not found)status_codedetail)r   r   )r*   r   emailr   r   r   
read_email)   s   
r.   updatec                 C   r   r   )r   )r*   r/   r   r   r   r   update_email3   r    r0   .zThe ID of the email record)descriptionc                 C   s
   t | |S r   )r   )r*   r   r   r   r   delete_email;   s   
r2   z/status-countsc                 C   s   t | S r   )get_email_status_counts)r   r&   r   r   r   get_email_countsB   s   r4   )*fastapir   r   r   r   r   fastapi.responsesr   typingr   app.dbr	   models.saas.communication_emailr   r   r   r   r   dependencies.authr   !services.saas.communication_emailr   r   r   r   r   routerpostget_mongo_dbMongoDBr   r(   intstrdictr)   r.   putr0   deleter2   r4   r   r   r   r   <module>   s    	
