ba7f0f53bb7fa8f588d7ef6712659b37b55654bd
[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 _0xfcd2=['subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','upperFirst','InteractionId','inReplyTo','<div\x20id=\x22xm-mail-content\x22>','replace','<div','auto_reply','sendMailMessage','smtpOptions','then','messageId','Message','create','catch','[RPC][%s][AUTOREPLY]\x20%s','stringify','finally','update','error','Interaction','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','next','isNil','interaction','created','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','getMustacheRender','message','from','phone','read'];(function(_0x15f8ad,_0x5275c3){var _0xc0238a=function(_0x5550c8){while(--_0x5550c8){_0x15f8ad['push'](_0x15f8ad['shift']());}};_0xc0238a(++_0x5275c3);}(_0xfcd2,0x1a8));var _0x2fcd=function(_0x6a0b9c,_0x505642){_0x6a0b9c=_0x6a0b9c-0x0;var _0x1ec077=_0xfcd2[_0x6a0b9c];return _0x1ec077;};'use strict';var _=require('lodash');var moment=require(_0x2fcd('0x0'));var utils=require(_0x2fcd('0x1'));var logger=require(_0x2fcd('0x2'))(_0x2fcd('0x3'));var rpc={'chatMessage':require(_0x2fcd('0x4')),'openchannelMessage':require(_0x2fcd('0x5')),'mailMessage':require(_0x2fcd('0x6')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x2fcd('0x7')),'whatsappMessage':require(_0x2fcd('0x8')),'chatInteraction':require(_0x2fcd('0x9')),'openchannelInteraction':require(_0x2fcd('0xa')),'mailInteraction':require(_0x2fcd('0xb')),'smsInteraction':require(_0x2fcd('0xc')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require(_0x2fcd('0xd'))};var mailRpc=require(_0x2fcd('0xe'));exports[_0x2fcd('0xf')]=function(_0x37ad55,_0x4cfae7,_0xcea5e1,_0x5283d0){return function(_0x20d6f1){try{var _0x25f964=this[_0x2fcd('0x10')];if(_0x25f964===_0x2fcd('0x11')&&_0x5283d0[_0x2fcd('0x12')][_0x2fcd('0x13')]){logger[_0x2fcd('0x14')](_0x2fcd('0x15'),_0x37ad55,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x20d6f1[_0x2fcd('0x16')]();}if(_0x4cfae7[0x0]==='1'&&(_[_0x2fcd('0x17')](this[_0x2fcd('0x18')][_0x2fcd('0x19')])||!this[_0x2fcd('0x18')]['created'])){logger[_0x2fcd('0x14')]('[%s][AUTOREPLY]\x20%s',_0x37ad55,_0x2fcd('0x1a'));return _0x20d6f1[_0x2fcd('0x16')]();}if(_0x4cfae7[0x0]==='2'&&this['interaction'][_0x2fcd('0x1b')]){logger[_0x2fcd('0x14')](_0x2fcd('0x1c'),_0x37ad55,_0x2fcd('0x1d'));return _0x20d6f1['next']();}var _0x2e7002={'ContactId':this[_0x2fcd('0x1e')]['id'],'sentAt':moment()[_0x2fcd('0x1f')](_0x2fcd('0x20')),'direction':'out'};if(this[_0x2fcd('0x10')]===_0x2fcd('0x11')){_0x2e7002['body']=utils[_0x2fcd('0x21')](_0x4cfae7[0x2],this);}else{_0x2e7002['body']=utils[_0x2fcd('0x21')](_0x4cfae7[0x1],this);}if(this[_0x2fcd('0x22')]){_0x2e7002['to']=this[_0x2fcd('0x22')][_0x2fcd('0x23')]||'';if(this[_0x2fcd('0x10')]===_0x2fcd('0x11')&&_0x4cfae7[0x1]==='1'){_0x2e7002['cc']=this[_0x2fcd('0x22')]['cc']||'';}_0x2e7002[_0x2fcd('0x23')]=this['message']['to']||'';_0x2e7002[_0x2fcd('0x24')]=this['message'][_0x2fcd('0x24')]||'';_0x2e7002[_0x2fcd('0x25')]=!![];if(this[_0x2fcd('0x22')][_0x2fcd('0x26')]){_0x2e7002[_0x2fcd('0x26')]='';_0x2e7002[_0x2fcd('0x26')]+=_[_0x2fcd('0x27')](this[_0x2fcd('0x22')][_0x2fcd('0x26')],_0x2fcd('0x28'))?'':_0x2fcd('0x29');_0x2e7002[_0x2fcd('0x26')]+=this[_0x2fcd('0x22')]['subject'];}}if(this[_0x2fcd('0x10')]===_0x2fcd('0x2a')){_0x2e7002[_0x2fcd('0x2b')]=this['account']['id'];}else{_0x2e7002[_[_0x2fcd('0x2c')](this[_0x2fcd('0x10')])+'AccountId']=this['account']['id'];}_0x2e7002[_[_0x2fcd('0x2c')](this[_0x2fcd('0x10')])+_0x2fcd('0x2d')]=this[_0x2fcd('0x18')]['id'];var _0x4a35cc=this['interaction'];if(rpc[this[_0x2fcd('0x10')]+'Message']){if(this[_0x2fcd('0x10')]===_0x2fcd('0x11')){_0x2e7002[_0x2fcd('0x2e')]=this['message']['messageId'];_0x2e7002['html']=_0x2fcd('0x2f')+_[_0x2fcd('0x30')](_0x2e7002[_0x2fcd('0x12')],'<div\x20id=\x22xm-mail-content\x22',_0x2fcd('0x31'))+'</div>';_0x2e7002['headers']={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':'All','Precedence':_0x2fcd('0x32')};return mailRpc[_0x2fcd('0x33')](this['account'][_0x2fcd('0x34')],_0x2e7002)[_0x2fcd('0x35')](function(_0x24eafb){logger['info']('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x37ad55);_0x2e7002[_0x2fcd('0x36')]=_0x24eafb[_0x2fcd('0x22')][_0x2fcd('0x36')];return rpc[_0x25f964+_0x2fcd('0x37')][_0x2fcd('0x38')](_0x2e7002);})[_0x2fcd('0x35')](function(_0x134b2b){logger[_0x2fcd('0x14')](_0x2fcd('0x15'),_0x37ad55,JSON['stringify'](_0x134b2b));})[_0x2fcd('0x39')](function(_0x52a799){logger['error'](_0x2fcd('0x3a'),_0x37ad55,JSON[_0x2fcd('0x3b')](_0x52a799));})[_0x2fcd('0x3c')](function(){Promise['resolve']()['then'](function(){if(_0x4cfae7[0x0]!=='2'||_0x4a35cc[_0x2fcd('0x1b')])return;return rpc[_0x25f964+'Interaction'][_0x2fcd('0x3d')](_0x4a35cc['id'],{'autoreplyExecuted':!![]})[_0x2fcd('0x35')](function(_0x54e483){logger[_0x2fcd('0x14')](_0x2fcd('0x1c'),_0x37ad55,JSON[_0x2fcd('0x3b')](_0x54e483));})['catch'](function(_0x43be2f){logger['error']('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x37ad55,JSON[_0x2fcd('0x3b')](_0x43be2f));});})[_0x2fcd('0x35')](function(){_0x20d6f1[_0x2fcd('0x16')]();});});}else{return rpc[this[_0x2fcd('0x10')]+_0x2fcd('0x37')][_0x2fcd('0x38')](_0x2e7002)[_0x2fcd('0x35')](function(){logger[_0x2fcd('0x14')]('[%s][AUTOREPLY]\x20%s',_0x37ad55,_0x2e7002[_0x2fcd('0x12')]);})['catch'](function(_0x1d74de){logger[_0x2fcd('0x3e')]('[%s][AUTOREPLY]\x20%s',_0x37ad55,JSON[_0x2fcd('0x3b')](_0x1d74de));})['finally'](function(){Promise['resolve']()[_0x2fcd('0x35')](function(){if(_0x4cfae7[0x0]!=='2'||_0x4a35cc[_0x2fcd('0x1b')])return;return rpc[_0x25f964+_0x2fcd('0x3f')][_0x2fcd('0x3d')](_0x4a35cc['id'],{'autoreplyExecuted':!![]})[_0x2fcd('0x35')](function(_0x2aa699){logger['info'](_0x2fcd('0x1c'),_0x37ad55,JSON[_0x2fcd('0x3b')](_0x2aa699));})[_0x2fcd('0x39')](function(_0x3dc0b8){logger['error'](_0x2fcd('0x40'),_0x37ad55,JSON[_0x2fcd('0x3b')](_0x3dc0b8));});})[_0x2fcd('0x35')](function(){_0x20d6f1[_0x2fcd('0x16')]();});});}}}catch(_0x3c38f5){logger['error']('[%s][AUTOREPLY]\x20%s',_0x37ad55,JSON[_0x2fcd('0x3b')](_0x3c38f5));_0x20d6f1[_0x2fcd('0x41')]();}};};