§
     ’jõ  ã                  ó‚  — d 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  eddg¬	¦  «        Zdd„Ze                     de¬¦  «        dd„¦   «         Ze                     de¬¦  «        dd„¦   «         Ze                     de¬¦  «        d d„¦   «         Ze                     de¬¦  «        d!d„¦   «         ZdS )"zADesktop automation routes backed by the local MCP desktop server.é    )Úannotations)Ú	APIRouter)ÚDesktopActionResponseÚDesktopHealthResponseÚZaloDownloadLatestFileRequestÚZaloSendRequestÚZaloVerifyChatRequest)ÚDesktopAutomationAdapter)ÚZaloAutomationServicez/v1/desktopzdesktop-automation)ÚprefixÚtagsÚreturnr   c                 ó:   — t          t          ¦   «         ¬¦  «        S )z1Create the current local Zalo automation service.)Úadapter)r   r
   © ó    ú,C:\Projects\DSCons\app\api\desktop_routes.pyÚ_build_zalo_servicer      s   € å Õ)AÑ)CÔ)CÐDÑDÔDÐDr   z/health)Úresponse_modelr   c               ƒ  ó"   K  — t          ¦   «         S )z*Return desktop automation health metadata.)r   r   r   r   Údesktop_healthr      s   è è € õ !Ñ"Ô"Ð"r   z
/zalo/sendÚrequestr   r   c              ƒ  óX  K  — t          ¦   «         }| j        dk    rS|                     | j        | j        | j        | j        | j        | j        ¬¦  «        ƒ d{V —†}t          j
        |¦  «        S |                     | j        pd| j        ¬¦  «        ƒ d{V —†}t          j
        |¦  «        S )z3Execute the currently supported Zalo send workflow.Úmy_document)Úverify_before_sendÚpress_enterÚcapture_evidenceÚworkflow_idÚmessage_labelNÚ )Úcontact_nameÚmessage)r   Útarget_typeÚsend_message_to_my_documentr"   r   r   r   r   r   r   Úfrom_adapter_resultÚsend_message_to_contactÚtarget_name©r   ÚserviceÚresults      r   Ú	zalo_sendr+       sê   è è € õ "Ñ#Ô#€GàÔ˜mÒ+Ð+Ø×:Ò:ØŒOØ&Ô9ØÔ+Ø$Ô5ØÔ+Ø!Ô/ð ;ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆõ %Ô8¸Ñ@Ô@Ð@à×2Ò2ØÔ(Ð.¨BØ”ð 3ñ ô ð ð ð ð ð ð €Fõ !Ô4°VÑ<Ô<Ð<r   z/zalo/verify-chatr	   c              ƒ  ó¢   K  — t          ¦   «         }|j                             | j        | j        ¬¦  «        ƒ d{V —†}t          j        |¦  «        S )z:Verify the currently active Zalo chat through the adapter.)Úexpected_nameÚallow_partial_matchN)r   r   Úzalo_verify_active_chatr'   r.   r   r%   r(   s      r   Úzalo_verify_chatr0   8   sl   è è € õ "Ñ#Ô#€GØ”?×:Ò:ØÔ)Ø#Ô7ð ;ñ ô ð ð ð ð ð ð €Fõ !Ô4°VÑ<Ô<Ð<r   z/zalo/download-latest-filer   c              ƒ  ó°   K  — t          ¦   «         }|                     | j        | j        | j        | j        ¬¦  «        ƒ d{V —†}t          j        |¦  «        S )zIDownload the latest file from a verified Zalo chat into a project folder.)r'   Úproject_pathÚ	subfolderÚdownload_dirN)r   Údownload_latest_file_to_projectr'   r2   r3   r4   r   r%   r(   s      r   Úzalo_download_latest_filer6   D   sv   è è € õ "Ñ#Ô#€GØ×:Ò:ØÔ'ØÔ)ØÔ#ØÔ)ð	 ;ñ ô ð ð ð ð ð ð €Fõ !Ô4°VÑ<Ô<Ð<r   N)r   r   )r   r   )r   r   r   r   )r   r	   r   r   )r   r   r   r   )Ú__doc__Ú
__future__r   Úfastapir   Ú%app.models.desktop_automation_schemasr   r   r   r   r	   Ú?app.modules.integrations.application.desktop_automation_adapterr
   Ú8app.modules.zalo_crm.application.zalo_automation_servicer   Úrouterr   Úgetr   Úpostr+   r0   r6   r   r   r   ú<module>r@      s£  ðØ GÐ Gà "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð eÐ dÐ dÐ dÐ dÐ dØ ZÐ ZÐ ZÐ ZÐ ZÐ Zà	ˆ˜-Ð/CÐ.DÐ	EÑ	EÔ	E€ðEð Eð Eð Eð
 ‡‚ˆIÐ&;€Ñ<Ô<ð#ð #ð #ñ =Ô<ð#ð ‡‚ˆ\Ð*?€Ñ@Ô@ð=ð =ð =ñ AÔ@ð=ð. ‡‚Ð Ð1F€ÑGÔGð=ð =ð =ñ HÔGð=ð ‡‚Ð)Ð:O€ÑPÔPð=ð =ð =ñ QÔPð=ð =ð =r   