34e08d95c420f1a23521bed6688d01d57d19914b
[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 _0x6843=['../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','info','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','interaction','created','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','getMustacheRender','message','from','phone','read','subject','startsWith','Re:\x20','chat','ChatWebsiteId','upperFirst','AccountId','account','InteractionId','Message','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','headers','All','smtpOptions','then','messageId','stringify','resolve','Interaction','update','catch','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','create','error','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage'];(function(_0x4239c8,_0x2c0c6e){var _0x40323b=function(_0x598d03){while(--_0x598d03){_0x4239c8['push'](_0x4239c8['shift']());}};_0x40323b(++_0x2c0c6e);}(_0x6843,0x7a));var _0x3684=function(_0x893cf9,_0x5c4da9){_0x893cf9=_0x893cf9-0x0;var _0x107cd6=_0x6843[_0x893cf9];return _0x107cd6;};'use strict';var _=require(_0x3684('0x0'));var moment=require(_0x3684('0x1'));var utils=require(_0x3684('0x2'));var logger=require(_0x3684('0x3'))(_0x3684('0x4'));var rpc={'chatMessage':require(_0x3684('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x3684('0x6')),'smsMessage':require(_0x3684('0x7')),'faxMessage':require(_0x3684('0x8')),'whatsappMessage':require(_0x3684('0x9')),'chatInteraction':require(_0x3684('0xa')),'openchannelInteraction':require(_0x3684('0xb')),'mailInteraction':require(_0x3684('0xc')),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0x3684('0xd')),'whatsappInteraction':require(_0x3684('0xe'))};var mailRpc=require(_0x3684('0xf'));exports[_0x3684('0x10')]=function(_0x3a81dc,_0x4ee96f,_0x28d428,_0x120df9){return function(_0x4b0de2){try{var _0x101ec7=this[_0x3684('0x11')];if(_0x101ec7===_0x3684('0x12')&&_0x120df9[_0x3684('0x13')]['isAutoreply']){logger[_0x3684('0x14')]('[%s][AUTOREPLY]\x20%s',_0x3a81dc,_0x3684('0x15'));return _0x4b0de2[_0x3684('0x16')]();}if(_0x4ee96f[0x0]==='1'&&(_['isNil'](this[_0x3684('0x17')][_0x3684('0x18')])||!this['interaction'][_0x3684('0x18')])){logger[_0x3684('0x14')](_0x3684('0x19'),_0x3a81dc,_0x3684('0x1a'));return _0x4b0de2['next']();}if(_0x4ee96f[0x0]==='2'&&this[_0x3684('0x17')][_0x3684('0x1b')]){logger[_0x3684('0x14')](_0x3684('0x1c'),_0x3a81dc,_0x3684('0x1d'));return _0x4b0de2[_0x3684('0x16')]();}var _0x233042={'ContactId':this[_0x3684('0x1e')]['id'],'sentAt':moment()[_0x3684('0x1f')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':'out'};if(this['channel']===_0x3684('0x12')){_0x233042[_0x3684('0x13')]=utils['getMustacheRender'](_0x4ee96f[0x2],this);}else{_0x233042[_0x3684('0x13')]=utils[_0x3684('0x20')](_0x4ee96f[0x1],this);}if(this[_0x3684('0x21')]){_0x233042['to']=this[_0x3684('0x21')][_0x3684('0x22')]||'';if(this[_0x3684('0x11')]==='mail'&&_0x4ee96f[0x1]==='1'){_0x233042['cc']=this['message']['cc']||'';}_0x233042['from']=this[_0x3684('0x21')]['to']||'';_0x233042[_0x3684('0x23')]=this[_0x3684('0x21')]['phone']||'';_0x233042[_0x3684('0x24')]=!![];if(this['message'][_0x3684('0x25')]){_0x233042['subject']='';_0x233042[_0x3684('0x25')]+=_[_0x3684('0x26')](this[_0x3684('0x21')]['subject'],'Re:')?'':_0x3684('0x27');_0x233042[_0x3684('0x25')]+=this['message'][_0x3684('0x25')];}}if(this[_0x3684('0x11')]===_0x3684('0x28')){_0x233042[_0x3684('0x29')]=this['account']['id'];}else{_0x233042[_[_0x3684('0x2a')](this['channel'])+_0x3684('0x2b')]=this[_0x3684('0x2c')]['id'];}_0x233042[_[_0x3684('0x2a')](this['channel'])+_0x3684('0x2d')]=this['interaction']['id'];var _0x19bf45=this['interaction'];if(rpc[this[_0x3684('0x11')]+_0x3684('0x2e')]){if(this[_0x3684('0x11')]===_0x3684('0x12')){_0x233042['inReplyTo']=this[_0x3684('0x21')]['messageId'];_0x233042['html']=_0x3684('0x2f')+_[_0x3684('0x30')](_0x233042['body'],_0x3684('0x31'),_0x3684('0x32'))+'</div>';_0x233042[_0x3684('0x33')]={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':_0x3684('0x34'),'Precedence':'auto_reply'};return mailRpc['sendMailMessage'](this[_0x3684('0x2c')][_0x3684('0x35')],_0x233042)[_0x3684('0x36')](function(_0x4bc25d){logger[_0x3684('0x14')]('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x3a81dc);_0x233042[_0x3684('0x37')]=_0x4bc25d[_0x3684('0x21')][_0x3684('0x37')];return rpc[_0x101ec7+_0x3684('0x2e')]['create'](_0x233042);})[_0x3684('0x36')](function(_0xbde346){logger[_0x3684('0x14')](_0x3684('0x19'),_0x3a81dc,JSON[_0x3684('0x38')](_0xbde346));})['catch'](function(_0x292a93){logger['error']('[RPC][%s][AUTOREPLY]\x20%s',_0x3a81dc,JSON[_0x3684('0x38')](_0x292a93));})['finally'](function(){Promise[_0x3684('0x39')]()[_0x3684('0x36')](function(){if(_0x4ee96f[0x0]!=='2'||_0x19bf45[_0x3684('0x1b')])return;return rpc[_0x101ec7+_0x3684('0x3a')][_0x3684('0x3b')](_0x19bf45['id'],{'autoreplyExecuted':!![]})[_0x3684('0x36')](function(_0x2073d1){logger[_0x3684('0x14')](_0x3684('0x1c'),_0x3a81dc,JSON[_0x3684('0x38')](_0x2073d1));})[_0x3684('0x3c')](function(_0x3f7abf){logger['error'](_0x3684('0x3d'),_0x3a81dc,JSON[_0x3684('0x38')](_0x3f7abf));});})[_0x3684('0x36')](function(){_0x4b0de2[_0x3684('0x16')]();});});}else{return rpc[this[_0x3684('0x11')]+_0x3684('0x2e')][_0x3684('0x3e')](_0x233042)[_0x3684('0x36')](function(){logger[_0x3684('0x14')](_0x3684('0x19'),_0x3a81dc,_0x233042[_0x3684('0x13')]);})[_0x3684('0x3c')](function(_0x5ba1c2){logger[_0x3684('0x3f')]('[%s][AUTOREPLY]\x20%s',_0x3a81dc,JSON['stringify'](_0x5ba1c2));})['finally'](function(){Promise[_0x3684('0x39')]()[_0x3684('0x36')](function(){if(_0x4ee96f[0x0]!=='2'||_0x19bf45[_0x3684('0x1b')])return;return rpc[_0x101ec7+_0x3684('0x3a')][_0x3684('0x3b')](_0x19bf45['id'],{'autoreplyExecuted':!![]})['then'](function(_0x218957){logger['info'](_0x3684('0x1c'),_0x3a81dc,JSON['stringify'](_0x218957));})['catch'](function(_0x5c603c){logger[_0x3684('0x3f')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x3a81dc,JSON[_0x3684('0x38')](_0x5c603c));});})[_0x3684('0x36')](function(){_0x4b0de2['next']();});});}}}catch(_0x48d873){logger[_0x3684('0x3f')](_0x3684('0x19'),_0x3a81dc,JSON[_0x3684('0x38')](_0x48d873));_0x4b0de2['stop']();}};};