Built motion from commit 753c950e.|2.5.42
[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 _0x336b=['../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../mailRpc','consequence','channel','mail','body','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','created','interaction','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','phone','read','subject','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','Smtp','service','host','port','secure','auth','user','pass','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','<div\x20id=\x22xm-mail-content\x22','<div','</div>','auto-replied','All','auto_reply','sendMailMessage','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','stringify','[RPC][%s][AUTOREPLY]\x20%s','finally','resolve','update','then','catch','error','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','moment','./utils'];(function(_0x12e6f2,_0x35919d){var _0x404dfd=function(_0x51c843){while(--_0x51c843){_0x12e6f2['push'](_0x12e6f2['shift']());}};_0x404dfd(++_0x35919d);}(_0x336b,0x1d7));var _0xb336=function(_0x1accc0,_0x69dcf9){_0x1accc0=_0x1accc0-0x0;var _0x2ae1cc=_0x336b[_0x1accc0];return _0x2ae1cc;};'use strict';var _=require(_0xb336('0x0'));var moment=require(_0xb336('0x1'));var utils=require(_0xb336('0x2'));var logger=require(_0xb336('0x3'))(_0xb336('0x4'));var rpc={'chatMessage':require(_0xb336('0x5')),'openchannelMessage':require(_0xb336('0x6')),'mailMessage':require(_0xb336('0x7')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xb336('0x8')),'whatsappMessage':require(_0xb336('0x9')),'chatInteraction':require(_0xb336('0xa')),'openchannelInteraction':require(_0xb336('0xb')),'mailInteraction':require(_0xb336('0xc')),'smsInteraction':require(_0xb336('0xd')),'faxInteraction':require(_0xb336('0xe')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require(_0xb336('0xf'));exports[_0xb336('0x10')]=function(_0x24638b,_0x2610d7,_0x1ab142,_0x1f984d){return function(_0x488106){try{var _0x3e4a4b=this[_0xb336('0x11')];if(_0x3e4a4b===_0xb336('0x12')&&_0x1f984d[_0xb336('0x13')]['isAutoreply']){logger['info']('[%s][AUTOREPLY]\x20%s',_0x24638b,_0xb336('0x14'));return _0x488106[_0xb336('0x15')]();}if(_0x2610d7[0x0]==='1'&&(_[_0xb336('0x16')](this['interaction'][_0xb336('0x17')])||!this[_0xb336('0x18')][_0xb336('0x17')])){logger[_0xb336('0x19')](_0xb336('0x1a'),_0x24638b,_0xb336('0x1b'));return _0x488106['next']();}if(_0x2610d7[0x0]==='2'&&this[_0xb336('0x18')][_0xb336('0x1c')]){logger[_0xb336('0x19')](_0xb336('0x1d'),_0x24638b,_0xb336('0x1e'));return _0x488106[_0xb336('0x15')]();}var _0x987b5d={'ContactId':this[_0xb336('0x1f')]['id'],'sentAt':moment()[_0xb336('0x20')](_0xb336('0x21')),'direction':_0xb336('0x22')};if(this[_0xb336('0x11')]===_0xb336('0x12')){_0x987b5d[_0xb336('0x13')]=utils['getMustacheRender'](_0x2610d7[0x2],this);}else{_0x987b5d[_0xb336('0x13')]=utils[_0xb336('0x23')](_0x2610d7[0x1],this);}if(this[_0xb336('0x24')]){_0x987b5d['to']=this[_0xb336('0x24')]['from']||'';if(this[_0xb336('0x11')]===_0xb336('0x12')&&_0x2610d7[0x1]==='1'){_0x987b5d['cc']=this[_0xb336('0x24')]['cc']||'';}_0x987b5d['from']=this[_0xb336('0x24')]['to']||'';_0x987b5d['phone']=this[_0xb336('0x24')][_0xb336('0x25')]||'';_0x987b5d[_0xb336('0x26')]=!![];if(this['message'][_0xb336('0x27')]){_0x987b5d[_0xb336('0x27')]='';_0x987b5d['subject']+=_['startsWith'](this[_0xb336('0x24')][_0xb336('0x27')],'Re:')?'':_0xb336('0x28');_0x987b5d['subject']+=this[_0xb336('0x24')][_0xb336('0x27')];}}if(this[_0xb336('0x11')]===_0xb336('0x29')){_0x987b5d[_0xb336('0x2a')]=this[_0xb336('0x2b')]['id'];}else{_0x987b5d[_[_0xb336('0x2c')](this[_0xb336('0x11')])+_0xb336('0x2d')]=this[_0xb336('0x2b')]['id'];}_0x987b5d[_['upperFirst'](this[_0xb336('0x11')])+_0xb336('0x2e')]=this['interaction']['id'];var _0x2a924f=this['interaction'];if(rpc[this['channel']+_0xb336('0x2f')]){if(this['channel']===_0xb336('0x12')){var _0x197d65={'tls':{'rejectUnauthorized':![]}};if(this[_0xb336('0x2b')][_0xb336('0x30')][_0xb336('0x31')]){_0x197d65[_0xb336('0x31')]=this[_0xb336('0x2b')][_0xb336('0x30')][_0xb336('0x31')];}else{_0x197d65[_0xb336('0x32')]=this['account'][_0xb336('0x30')]['host'];_0x197d65['port']=this['account'][_0xb336('0x30')][_0xb336('0x33')];_0x197d65[_0xb336('0x34')]=this[_0xb336('0x2b')][_0xb336('0x30')][_0xb336('0x34')];}if(this['account']['Smtp']['authentication']){_0x197d65[_0xb336('0x35')]={'user':this['account'][_0xb336('0x30')][_0xb336('0x36')],'pass':this[_0xb336('0x2b')]['Smtp'][_0xb336('0x37')]};}_0x987b5d[_0xb336('0x38')]=this[_0xb336('0x24')]['messageId'];_0x987b5d[_0xb336('0x39')]=_0xb336('0x3a')+_['replace'](_0x987b5d[_0xb336('0x13')],_0xb336('0x3b'),_0xb336('0x3c'))+_0xb336('0x3d');_0x987b5d['headers']={'Auto-Submitted':_0xb336('0x3e'),'X-Auto-Response-Suppress':_0xb336('0x3f'),'Precedence':_0xb336('0x40')};return mailRpc[_0xb336('0x41')](_0x197d65,_0x987b5d)['then'](function(_0x499d1c){logger['info'](_0xb336('0x42'),_0x24638b);_0x987b5d[_0xb336('0x43')]=_0x499d1c['message'][_0xb336('0x43')];return rpc[_0x3e4a4b+_0xb336('0x2f')][_0xb336('0x44')](_0x987b5d);})['then'](function(_0xec6b85){logger['info'](_0xb336('0x1a'),_0x24638b,JSON[_0xb336('0x45')](_0xec6b85));})['catch'](function(_0x3de38f){logger['error'](_0xb336('0x46'),_0x24638b,JSON[_0xb336('0x45')](_0x3de38f));})[_0xb336('0x47')](function(){Promise[_0xb336('0x48')]()['then'](function(){if(_0x2610d7[0x0]!=='2'||_0x2a924f[_0xb336('0x1c')])return;return rpc[_0x3e4a4b+'Interaction'][_0xb336('0x49')](_0x2a924f['id'],{'autoreplyExecuted':!![]})[_0xb336('0x4a')](function(_0x5ba3fe){logger[_0xb336('0x19')](_0xb336('0x1d'),_0x24638b,JSON[_0xb336('0x45')](_0x5ba3fe));})[_0xb336('0x4b')](function(_0x41de0c){logger[_0xb336('0x4c')](_0xb336('0x4d'),_0x24638b,JSON[_0xb336('0x45')](_0x41de0c));});})['then'](function(){_0x488106[_0xb336('0x15')]();});});}else{return rpc[this['channel']+'Message'][_0xb336('0x44')](_0x987b5d)[_0xb336('0x4a')](function(_0x36b7fd){logger['info'](_0xb336('0x1a'),_0x24638b,_0x987b5d[_0xb336('0x13')]);})[_0xb336('0x4b')](function(_0x914310){logger[_0xb336('0x4c')]('[%s][AUTOREPLY]\x20%s',_0x24638b,JSON[_0xb336('0x45')](_0x914310));})[_0xb336('0x47')](function(){Promise[_0xb336('0x48')]()[_0xb336('0x4a')](function(){if(_0x2610d7[0x0]!=='2'||_0x2a924f[_0xb336('0x1c')])return;return rpc[_0x3e4a4b+'Interaction']['update'](_0x2a924f['id'],{'autoreplyExecuted':!![]})['then'](function(_0x5648c8){logger[_0xb336('0x19')](_0xb336('0x1d'),_0x24638b,JSON[_0xb336('0x45')](_0x5648c8));})[_0xb336('0x4b')](function(_0x5dfbd3){logger['error'](_0xb336('0x4d'),_0x24638b,JSON[_0xb336('0x45')](_0x5dfbd3));});})[_0xb336('0x4a')](function(){_0x488106['next']();});});}}}catch(_0x23a6fc){logger[_0xb336('0x4c')](_0xb336('0x1a'),_0x24638b,JSON[_0xb336('0x45')](_0x23a6fc));_0x488106[_0xb336('0x4e')]();}};};