Built motion from commit 25580385.|2.6.2
[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 _0xb522=['../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','next','isNil','interaction','created','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','YYYY-MM-DD\x20HH:mm:ss','out','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','account','upperFirst','InteractionId','Message','inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','auto_reply','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','catch','error','finally','resolve','autoreplyExecuted','Interaction','stringify','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/faxMessage'];(function(_0x221abd,_0x621d76){var _0x47e399=function(_0x3c966f){while(--_0x3c966f){_0x221abd['push'](_0x221abd['shift']());}};_0x47e399(++_0x621d76);}(_0xb522,0x148));var _0x2b52=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xb522[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x2b52('0x0'));var moment=require('moment');var utils=require(_0x2b52('0x1'));var logger=require(_0x2b52('0x2'))(_0x2b52('0x3'));var rpc={'chatMessage':require(_0x2b52('0x4')),'openchannelMessage':require(_0x2b52('0x5')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x2b52('0x6')),'whatsappMessage':require(_0x2b52('0x7')),'chatInteraction':require(_0x2b52('0x8')),'openchannelInteraction':require(_0x2b52('0x9')),'mailInteraction':require(_0x2b52('0xa')),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0x2b52('0xb')),'whatsappInteraction':require(_0x2b52('0xc'))};var mailRpc=require(_0x2b52('0xd'));exports[_0x2b52('0xe')]=function(_0x7ce213,_0x2cab33,_0x29e57e,_0x445da5){return function(_0x881546){try{var _0x391e64=this[_0x2b52('0xf')];if(_0x391e64===_0x2b52('0x10')&&_0x445da5[_0x2b52('0x11')][_0x2b52('0x12')]){logger['info']('[%s][AUTOREPLY]\x20%s',_0x7ce213,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x881546[_0x2b52('0x13')]();}if(_0x2cab33[0x0]==='1'&&(_[_0x2b52('0x14')](this[_0x2b52('0x15')][_0x2b52('0x16')])||!this['interaction']['created'])){logger[_0x2b52('0x17')](_0x2b52('0x18'),_0x7ce213,_0x2b52('0x19'));return _0x881546['next']();}if(_0x2cab33[0x0]==='2'&&this[_0x2b52('0x15')]['autoreplyExecuted']){logger[_0x2b52('0x17')](_0x2b52('0x1a'),_0x7ce213,_0x2b52('0x1b'));return _0x881546[_0x2b52('0x13')]();}var _0x282c31={'ContactId':this[_0x2b52('0x1c')]['id'],'sentAt':moment()['format'](_0x2b52('0x1d')),'direction':_0x2b52('0x1e')};if(this['channel']===_0x2b52('0x10')){_0x282c31[_0x2b52('0x11')]=utils['getMustacheRender'](_0x2cab33[0x2],this);}else{_0x282c31[_0x2b52('0x11')]=utils['getMustacheRender'](_0x2cab33[0x1],this);}if(this[_0x2b52('0x1f')]){_0x282c31['to']=this[_0x2b52('0x1f')]['from']||'';if(this[_0x2b52('0xf')]===_0x2b52('0x10')&&_0x2cab33[0x1]==='1'){_0x282c31['cc']=this[_0x2b52('0x1f')]['cc']||'';}_0x282c31[_0x2b52('0x20')]=this[_0x2b52('0x1f')]['to']||'';_0x282c31['phone']=this[_0x2b52('0x1f')][_0x2b52('0x21')]||'';_0x282c31[_0x2b52('0x22')]=!![];if(this[_0x2b52('0x1f')][_0x2b52('0x23')]){_0x282c31[_0x2b52('0x23')]='';_0x282c31[_0x2b52('0x23')]+=_[_0x2b52('0x24')](this[_0x2b52('0x1f')]['subject'],_0x2b52('0x25'))?'':_0x2b52('0x26');_0x282c31['subject']+=this[_0x2b52('0x1f')][_0x2b52('0x23')];}}if(this['channel']===_0x2b52('0x27')){_0x282c31['ChatWebsiteId']=this[_0x2b52('0x28')]['id'];}else{_0x282c31[_[_0x2b52('0x29')](this[_0x2b52('0xf')])+'AccountId']=this['account']['id'];}_0x282c31[_['upperFirst'](this[_0x2b52('0xf')])+_0x2b52('0x2a')]=this[_0x2b52('0x15')]['id'];var _0x29f6cb=this['interaction'];if(rpc[this[_0x2b52('0xf')]+_0x2b52('0x2b')]){if(this['channel']==='mail'){_0x282c31[_0x2b52('0x2c')]=this[_0x2b52('0x1f')][_0x2b52('0x2d')];_0x282c31['html']=_0x2b52('0x2e')+_[_0x2b52('0x2f')](_0x282c31[_0x2b52('0x11')],_0x2b52('0x30'),_0x2b52('0x31'))+_0x2b52('0x32');_0x282c31[_0x2b52('0x33')]={'Auto-Submitted':_0x2b52('0x34'),'X-Auto-Response-Suppress':'All','Precedence':_0x2b52('0x35')};return mailRpc['sendMailMessage'](this['account'][_0x2b52('0x36')],_0x282c31)[_0x2b52('0x37')](function(_0x247e91){logger[_0x2b52('0x17')](_0x2b52('0x38'),_0x7ce213);_0x282c31[_0x2b52('0x2d')]=_0x247e91[_0x2b52('0x1f')][_0x2b52('0x2d')];return rpc[_0x391e64+_0x2b52('0x2b')][_0x2b52('0x39')](_0x282c31);})[_0x2b52('0x37')](function(_0x43313e){logger['info']('[%s][AUTOREPLY]\x20%s',_0x7ce213,JSON['stringify'](_0x43313e));})[_0x2b52('0x3a')](function(_0x45be10){logger[_0x2b52('0x3b')]('[RPC][%s][AUTOREPLY]\x20%s',_0x7ce213,JSON['stringify'](_0x45be10));})[_0x2b52('0x3c')](function(){Promise[_0x2b52('0x3d')]()[_0x2b52('0x37')](function(){if(_0x2cab33[0x0]!=='2'||_0x29f6cb[_0x2b52('0x3e')])return;return rpc[_0x391e64+_0x2b52('0x3f')]['update'](_0x29f6cb['id'],{'autoreplyExecuted':!![]})[_0x2b52('0x37')](function(_0x44fcdc){logger[_0x2b52('0x17')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x7ce213,JSON['stringify'](_0x44fcdc));})['catch'](function(_0x2d751f){logger[_0x2b52('0x3b')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x7ce213,JSON[_0x2b52('0x40')](_0x2d751f));});})[_0x2b52('0x37')](function(){_0x881546['next']();});});}else{return rpc[this['channel']+_0x2b52('0x2b')][_0x2b52('0x39')](_0x282c31)[_0x2b52('0x37')](function(){logger['info'](_0x2b52('0x18'),_0x7ce213,_0x282c31[_0x2b52('0x11')]);})[_0x2b52('0x3a')](function(_0x22492e){logger[_0x2b52('0x3b')](_0x2b52('0x18'),_0x7ce213,JSON[_0x2b52('0x40')](_0x22492e));})[_0x2b52('0x3c')](function(){Promise[_0x2b52('0x3d')]()[_0x2b52('0x37')](function(){if(_0x2cab33[0x0]!=='2'||_0x29f6cb[_0x2b52('0x3e')])return;return rpc[_0x391e64+_0x2b52('0x3f')]['update'](_0x29f6cb['id'],{'autoreplyExecuted':!![]})[_0x2b52('0x37')](function(_0x423414){logger[_0x2b52('0x17')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x7ce213,JSON[_0x2b52('0x40')](_0x423414));})['catch'](function(_0x4bf800){logger[_0x2b52('0x3b')](_0x2b52('0x41'),_0x7ce213,JSON[_0x2b52('0x40')](_0x4bf800));});})[_0x2b52('0x37')](function(){_0x881546[_0x2b52('0x13')]();});});}}}catch(_0xfdc17){logger[_0x2b52('0x3b')](_0x2b52('0x18'),_0x7ce213,JSON[_0x2b52('0x40')](_0xfdc17));_0x881546[_0x2b52('0x42')]();}};};