Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / services / routing / server / applications / autoreply.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x6ca0=['inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','Message','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','resolve','lodash','./utils','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','channel','mail','body','info','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','read','subject','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId'];(function(_0x38bbdb,_0x3d3dd3){var _0x45f4f9=function(_0x2bc9b9){while(--_0x2bc9b9){_0x38bbdb['push'](_0x38bbdb['shift']());}};_0x45f4f9(++_0x3d3dd3);}(_0x6ca0,0x97));var _0x06ca=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x6ca0[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x06ca('0x0'));var moment=require('moment');var utils=require(_0x06ca('0x1'));var logger=require('../../../../config/logger')('routing');var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0x06ca('0x2')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x06ca('0x3')),'faxMessage':require(_0x06ca('0x4')),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require(_0x06ca('0x5')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x06ca('0x6')),'smsInteraction':require(_0x06ca('0x7')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require(_0x06ca('0x8'))};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x317519,_0x5ea692,_0x4735c3,_0x1813c3){return function(_0x386933){try{var _0x27b381=this[_0x06ca('0x9')];if(_0x27b381===_0x06ca('0xa')&&_0x1813c3[_0x06ca('0xb')]['isAutoreply']){logger[_0x06ca('0xc')]('[%s][AUTOREPLY]\x20%s',_0x317519,_0x06ca('0xd'));return _0x386933[_0x06ca('0xe')]();}if(_0x5ea692[0x0]==='1'&&(_[_0x06ca('0xf')](this[_0x06ca('0x10')][_0x06ca('0x11')])||!this[_0x06ca('0x10')][_0x06ca('0x11')])){logger[_0x06ca('0xc')](_0x06ca('0x12'),_0x317519,_0x06ca('0x13'));return _0x386933[_0x06ca('0xe')]();}if(_0x5ea692[0x0]==='2'&&this[_0x06ca('0x10')][_0x06ca('0x14')]){logger[_0x06ca('0xc')](_0x06ca('0x15'),_0x317519,_0x06ca('0x16'));return _0x386933[_0x06ca('0xe')]();}var _0x3ff120={'ContactId':this['contact']['id'],'sentAt':moment()['format'](_0x06ca('0x17')),'direction':_0x06ca('0x18')};if(this[_0x06ca('0x9')]==='mail'){_0x3ff120[_0x06ca('0xb')]=utils['getMustacheRender'](_0x5ea692[0x2],this);}else{_0x3ff120[_0x06ca('0xb')]=utils[_0x06ca('0x19')](_0x5ea692[0x1],this);}if(this[_0x06ca('0x1a')]){_0x3ff120['to']=this['message']['from']||'';if(this[_0x06ca('0x9')]==='mail'&&_0x5ea692[0x1]==='1'){_0x3ff120['cc']=this[_0x06ca('0x1a')]['cc']||'';}_0x3ff120[_0x06ca('0x1b')]=this[_0x06ca('0x1a')]['to']||'';_0x3ff120['phone']=this[_0x06ca('0x1a')][_0x06ca('0x1c')]||'';_0x3ff120[_0x06ca('0x1d')]=!![];if(this[_0x06ca('0x1a')][_0x06ca('0x1e')]){_0x3ff120[_0x06ca('0x1e')]='';_0x3ff120['subject']+=_['startsWith'](this[_0x06ca('0x1a')][_0x06ca('0x1e')],'Re:')?'':_0x06ca('0x1f');_0x3ff120[_0x06ca('0x1e')]+=this[_0x06ca('0x1a')][_0x06ca('0x1e')];}}if(this[_0x06ca('0x9')]===_0x06ca('0x20')){_0x3ff120[_0x06ca('0x21')]=this[_0x06ca('0x22')]['id'];}else{_0x3ff120[_[_0x06ca('0x23')](this['channel'])+_0x06ca('0x24')]=this[_0x06ca('0x22')]['id'];}_0x3ff120[_[_0x06ca('0x23')](this[_0x06ca('0x9')])+_0x06ca('0x25')]=this[_0x06ca('0x10')]['id'];var _0x38c7c4=this[_0x06ca('0x10')];if(rpc[this[_0x06ca('0x9')]+'Message']){if(this[_0x06ca('0x9')]==='mail'){_0x3ff120[_0x06ca('0x26')]=this[_0x06ca('0x1a')][_0x06ca('0x27')];_0x3ff120['html']=_0x06ca('0x28')+_[_0x06ca('0x29')](_0x3ff120[_0x06ca('0xb')],_0x06ca('0x2a'),_0x06ca('0x2b'))+_0x06ca('0x2c');_0x3ff120['headers']={'Auto-Submitted':_0x06ca('0x2d'),'X-Auto-Response-Suppress':_0x06ca('0x2e'),'Precedence':_0x06ca('0x2f')};return mailRpc[_0x06ca('0x30')](this[_0x06ca('0x22')][_0x06ca('0x31')],_0x3ff120)[_0x06ca('0x32')](function(_0x170320){logger[_0x06ca('0xc')](_0x06ca('0x33'),_0x317519);_0x3ff120['messageId']=_0x170320[_0x06ca('0x1a')][_0x06ca('0x27')];return rpc[_0x27b381+_0x06ca('0x34')][_0x06ca('0x35')](_0x3ff120);})[_0x06ca('0x32')](function(_0x48e9af){logger[_0x06ca('0xc')](_0x06ca('0x12'),_0x317519,JSON[_0x06ca('0x36')](_0x48e9af));})[_0x06ca('0x37')](function(_0x5146e4){logger[_0x06ca('0x38')](_0x06ca('0x39'),_0x317519,JSON['stringify'](_0x5146e4));})['finally'](function(){Promise['resolve']()[_0x06ca('0x32')](function(){if(_0x5ea692[0x0]!=='2'||_0x38c7c4[_0x06ca('0x14')])return;return rpc[_0x27b381+_0x06ca('0x3a')][_0x06ca('0x3b')](_0x38c7c4['id'],{'autoreplyExecuted':!![]})[_0x06ca('0x32')](function(_0x43eb7c){logger['info'](_0x06ca('0x15'),_0x317519,JSON[_0x06ca('0x36')](_0x43eb7c));})[_0x06ca('0x37')](function(_0x14533d){logger[_0x06ca('0x38')](_0x06ca('0x3c'),_0x317519,JSON['stringify'](_0x14533d));});})[_0x06ca('0x32')](function(){_0x386933[_0x06ca('0xe')]();});});}else{return rpc[this['channel']+_0x06ca('0x34')][_0x06ca('0x35')](_0x3ff120)[_0x06ca('0x32')](function(){logger[_0x06ca('0xc')](_0x06ca('0x12'),_0x317519,_0x3ff120[_0x06ca('0xb')]);})[_0x06ca('0x37')](function(_0x30e39c){logger[_0x06ca('0x38')](_0x06ca('0x12'),_0x317519,JSON[_0x06ca('0x36')](_0x30e39c));})[_0x06ca('0x3d')](function(){Promise[_0x06ca('0x3e')]()[_0x06ca('0x32')](function(){if(_0x5ea692[0x0]!=='2'||_0x38c7c4[_0x06ca('0x14')])return;return rpc[_0x27b381+'Interaction']['update'](_0x38c7c4['id'],{'autoreplyExecuted':!![]})['then'](function(_0x376455){logger[_0x06ca('0xc')](_0x06ca('0x15'),_0x317519,JSON[_0x06ca('0x36')](_0x376455));})[_0x06ca('0x37')](function(_0x2955fe){logger[_0x06ca('0x38')](_0x06ca('0x3c'),_0x317519,JSON[_0x06ca('0x36')](_0x2955fe));});})[_0x06ca('0x32')](function(){_0x386933[_0x06ca('0xe')]();});});}}}catch(_0x307e5e){logger['error']('[%s][AUTOREPLY]\x20%s',_0x317519,JSON[_0x06ca('0x36')](_0x307e5e));_0x386933['stop']();}};};