
    VhW              &          S SK JrJrJrJr  S SKJr  S SKJrJ	r	J
r
JrJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  \" 5       r\R9                  S\S9\" \R:                  5      4S\	S\R<                  4S jj5       r\RA                  S\S9\" \R:                  5      \" \5      4S\!S\R<                  S\4S jj5       r"\RA                  S\S9SSSSSSSSSSSS SSSS\" \R:                  5      4S\!S\\!   S\\!   S\\!   S\\#   S\\!   S\\!   S\\!   S\\!   S\\!   S \\!   S!\\!   S"\$S#\$S$\\!   S%\\!   S&\\!   S\R<                  4$S' jj5       r%\RA                  S(5      SSS\" \R:                  5      4S\\!   S\\!   S\\!   S\R<                  4S) jj5       r&\RA                  S*\S9\" \R:                  5      4S+\!S\R<                  4S, jj5       r'\R9                  S*\S9\" \R:                  5      4S+\!S-\
S\R<                  4S. jj5       r(\RS                  S*\S9\" \R:                  5      4S+\!S\R<                  4S/ jj5       r*\RA                  S0\S9\" \R:                  5      \" \5      4S\!S\R<                  S\4S1 jj5       r+\R9                  S2\S9\" \R:                  5      4S3\S\R<                  4S4 jj5       r,g)5    )	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                 .    [         R                  " X5      $ N)task_servicecreate_task_service)r   r   s     KC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\routers\platform\tasks.pycreate_taskr      s    ++D55    z/getchecklist/{account_id}
account_idcurrent_userc                     [        XU5      $ r   r   r    r   r!   s      r   get_checklistr$      s    :<88r   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_orderschedule_idc                 @    [         R                  " XX#XEXgXXXXUU5      $ r   r   list_tasks_service)r    r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r   s                     r   list_all_tasksr:      sK    **:9Xanu  EQ  ]c  hl  u|  JU  WY  Z  Zr   z/summaryc                      U UUS.n[         R                  " XC5      $ ! [         a  n[        S[	        U5      S9eS nAff = f)N)r-   r.   r/   i  status_codedetail)r   get_task_summary_service
ValueErrorr   str)r-   r.   r/   r   payloades         r   get_task_summaryrD      sK    <&( 

 44WAA <CF;;<s    
A ;A z
/{task_id}task_idc                 T    [         R                  " X5      nU(       d
  [        SSS9eU$ N  Task not foundr<   )r   get_task_servicer   rE   r   r   s      r   get_taskrL   +   s(    ((5D4DEEKr   updatec                 V    [         R                  " XU5      nU(       d
  [        SSS9eU$ rG   )r   update_task_servicer   )rE   rM   r   r   s       r   update_taskrP   2   s*    ++GR@D4DEEKr   c                 T    [         R                  " X5      nU(       d
  [        SSS9eU$ rG   )r   delete_task_servicer   rK   s      r   delete_taskrS   9   s(    ++G8D4DEEKr   z/list/{account_id}/c                 .    [         R                  " X5      $ r   r8   r#   s      r   
list_tasksrU   @   s    **:::r   z/update-task-statusrequestc                 |    [         R                  " U R                  U R                  US9nU(       d
  [	        SSS9eU$ )N)rE   task_statusr   rH   rI   r<   )r   update_task_status_servicerE   rX   r   )rV   r   updateds      r   update_task_statusr[   M   s?    
 55''G
 4DEENr   )-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   getrA   r$   boolintr:   rD   rL   rP   deleterS   rU   r[    r   r   <module>rn      s   ; ;  g g ; . < : =  	S&9@AVAV9W 6j 6h&6&6 6 '6 (I:A(BWBW:Xov  xO  pP 9c 9x'7'7 9hl 9 J9 C)@Dae  BF  dh  EI  dh  GK  ko  KO  im  BF  TU  df  AE  ej  IM  fm  nv  nC	  nC	  fD	 Zs Z ZQYZ]Q^ Zqyz}q~ Z  S[  \`  Sa Z  u}  ~A  uB Z  T\  ]`  Ta Z  w  @C  wD Z  [c  dg  [h Z  {C  DG  {H Z  Ya  be  Yf Z  rz  {~  r Z  NQ Z  ^a Z  qy  z}  q~ Z  U]  ^a  Ub Z  yA  BE  yF Z  S[  Sc  Sc Z *Z J!%"&""8#8#89	<#<3-< sm< 		< <  L.29(:O:O2P c x//  / \$/IPQYQfQfIg  j h6F6F  0 |D15<X=R=R5S  ("2"2  2 !(;7>x?T?T7Uls  uL  mM ;3 ;H$4$4 ;ei ; <; "48 #8#8#89$ 9r   