o
    Ahh                  $   @   s  d dl 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 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ e 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eefde!dejdefddZ"ej deddddddddddddd dddeejfde!dee! dee! dee! dee# dee! dee! dee! d ee! d!ee! d"ee! d#ee! d$e$d%e$d&ee! d'ee! dejf"d(d)Z%e d*dddeejfdee! d ee! d!ee! dejfd+d,Z&ej d-edeejfd.e!dejfd/d0Z'ejd-edeejfd.e!d1e
dejfd2d3Z(ej)d-edeejfd.e!dejfd4d5Z*ej d6edeejeefde!dejdefd7d8Z+ejd9edeejfd:edejfd;d<Z,dS )=    )	APIRouterDependsHTTPExceptionBody)database)Task
TaskCreate
TaskUpdateTaskListTaskStatusUpdateRequest)CheckListSelect)User)get_current_userdetails)tasksget_select_list)Optional)datetime/)response_modeltaskdbc                 C      t | |S N)task_servicecreate_task_service)r   r    r   9/var/www/html/moveengine/app/v1/routers/platform/tasks.pycreate_task      r   z/getchecklist/{account_id}
account_idcurrent_userc                 C   s   t | ||S r   r   r    r   r!   r   r   r   get_checklist   r   r#   N
   asc
service_id	task_modepriority	roundtrip	from_dateto_datecustomer_idworkforce_idfleet_idstatusqskiplimitsort_by
sort_orderc                 C   s2   t d t| |||||||||	|
||||||S )N6list_all_taskslist_all_taskslist_all_tasks222222222222)printr   list_tasks_service)r    r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r   r   r   list_all_tasks   s   *r8   z/summaryc              
   C   sD   z| ||d}t ||W S  ty! } ztdt|dd }~ww )N)r,   r-   r.   i  status_codedetail)r   get_task_summary_service
ValueErrorr   str)r,   r-   r.   r   payloader   r   r   get_task_summary   s   rA   z
/{task_id}task_idc                 C       t | |}|stddd|S N  Task not foundr9   )r   get_task_servicer   rB   r   r   r   r   r   get_task,      rI   updatec                 C   s"   t | ||}|stddd|S rD   )r   update_task_servicer   )rB   rK   r   r   r   r   r   update_task3   s   rM   c                 C   rC   rD   )r   delete_task_servicer   rH   r   r   r   delete_task:   rJ   rO   z/list/{account_id}/c                 C   r   r   )r   r7   r"   r   r   r   
list_tasksA   r   rP   z/update-task-statusrequestc                 C   s(   t j| j| j|d}|stddd|S )N)rB   task_statusr   rE   rF   r9   )r   update_task_status_servicerB   rR   r   )rQ   r   updatedr   r   r   update_task_statusN   s   rU   )-fastapir   r   r   r   app.dbr   app.v1.models.platform.tasksr   r   r	   r
   r   app.v1.models.platform.servicesr   app.v1.models.saas.usersmodelr   app.v1.dependencies.authr   app.v1.services.platformr   r   !app.v1.services.platform.servicesr   typingr   r   routerpostget_mongo_dbMongoDBr   getr>   r#   boolintr8   rA   rI   rM   deleterO   rP   rU   r   r   r   r   <module>   s\     * $ *