o
    îXjÖ	  ã                   @   sb  d dl Z d dlmZmZmZ d dlmZmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZ d dlmZmZmZ e  e¡Zed	d
gee	ƒgd�Zeddgee	ƒgd�Ze d¡eeƒfdededefdd„ƒZe d¡eeƒfdededefdd„ƒZe d¡eeƒfdededefdd„ƒZe d¡dedefdd„ƒZ e d¡dedefdd„ƒZ!dS ) é    N)Ú	APIRouterÚDependsÚRequest)ÚSettingsÚget_settings)Úverify_bearer_token)ÚWorkflowHandleOptionRequestÚWorkflowStartInteractiveRequestÚWorkflowStartRequest)ÚRenderRequest)Úrender_response)Úhandle_optionÚstart_workflowÚstart_workflow_interactivez/freshchat/workflowÚworkflow)ÚprefixÚtagsÚdependenciesz
/freshchatÚrenderz/startÚrequestÚsettingsÚreturnc                 C   ó   t  d| j| j¡ t| |jƒS )Nz)Starting workflow for cliente=%s canal=%s)ÚloggerÚinfoÚclienteÚcanalr   Údefault_response_mode©r   r   © r   ú=/var/www/html/macrobase-freshchat-api/app/routers/workflow.pyÚworkflow_start   ó   r!   z/start-interactivec                 C   s(   t  d| j| j| j| j| j¡ t| |ƒS )Nz€Sending interactive workflow menu for cliente=%s conversation_id=%s conversationAlias=%s conversation_alias=%s conversationId=%s)r   r   r   Úconversation_idÚconversationAliasÚconversation_aliasÚconversationIdr   r   r   r   r    Úworkflow_start_interactive(   s   ÷
r'   z/handle-optionc                 C   r   )Nz0Handling workflow option for cliente=%s canal=%s)r   r   r   r   r   r   r   r   r   r    Úworkflow_handle_option;   r"   r(   z/renderc                 C   s   t | j| jƒS )N)r   ÚpayloadÚmode)r   r   r   r    Úrender_for_freshchatD   s   r+   z/debug/echoc                 Ã   s.   �|   ¡ I d H }t d|¡ dddd|idœS )NzFreshchat debug echo body=%sÚfalsezDebug recibido.ÚtextÚreceived)ÚerrorÚmensajeÚresponse_typeÚdata)Újsonr   r   )r   Úbodyr   r   r    Ú
debug_echoI   s   €ÿür5   )"ÚloggingÚfastapir   r   r   Úapp.core.configr   r   Úapp.core.securityr   Úapp.schemas.freshchatr   r	   r
   Úapp.schemas.responsesr   Ú!app.services.conversation_builderr   Úapp.services.workflow_servicer   r   r   Ú	getLoggerÚ__name__r   ÚrouterÚrender_routerÚpostÚdictr!   r'   r(   r+   r5   r   r   r   r    Ú<module>   sd    
ýýþÿþýþÿþýþÿþý