977245a3e0f9cc4bf4a02e0dfd5c5af9008c1afc
[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 _0x0f3f=['isAutoreply','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','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','chat','account','upperFirst','AccountId','Message','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','replace','headers','auto-replied','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','stringify','error','finally','resolve','Interaction','update','catch','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','moment','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','channel','mail','body'];(function(_0x33a967,_0x15fe41){var _0x4aeb18=function(_0x42a371){while(--_0x42a371){_0x33a967['push'](_0x33a967['shift']());}};_0x4aeb18(++_0x15fe41);}(_0x0f3f,0xb0));var _0xf0f3=function(_0x5ba549,_0x425afd){_0x5ba549=_0x5ba549-0x0;var _0x36e3a1=_0x0f3f[_0x5ba549];return _0x36e3a1;};'use strict';var _=require('lodash');var moment=require(_0xf0f3('0x0'));var utils=require(_0xf0f3('0x1'));var logger=require(_0xf0f3('0x2'))('routing');var rpc={'chatMessage':require(_0xf0f3('0x3')),'openchannelMessage':require(_0xf0f3('0x4')),'mailMessage':require(_0xf0f3('0x5')),'smsMessage':require(_0xf0f3('0x6')),'faxMessage':require(_0xf0f3('0x7')),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require(_0xf0f3('0x8')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0xf0f3('0x9')),'smsInteraction':require(_0xf0f3('0xa')),'faxInteraction':require(_0xf0f3('0xb')),'whatsappInteraction':require(_0xf0f3('0xc'))};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x26debd,_0x4e6113,_0x5eb9ab,_0x4c4aa1){return function(_0x372810){try{var _0x561204=this[_0xf0f3('0xd')];if(_0x561204===_0xf0f3('0xe')&&_0x4c4aa1[_0xf0f3('0xf')][_0xf0f3('0x10')]){logger[_0xf0f3('0x11')]('[%s][AUTOREPLY]\x20%s',_0x26debd,_0xf0f3('0x12'));return _0x372810[_0xf0f3('0x13')]();}if(_0x4e6113[0x0]==='1'&&(_['isNil'](this[_0xf0f3('0x14')][_0xf0f3('0x15')])||!this[_0xf0f3('0x14')]['created'])){logger[_0xf0f3('0x11')](_0xf0f3('0x16'),_0x26debd,_0xf0f3('0x17'));return _0x372810[_0xf0f3('0x13')]();}if(_0x4e6113[0x0]==='2'&&this[_0xf0f3('0x14')][_0xf0f3('0x18')]){logger[_0xf0f3('0x11')](_0xf0f3('0x19'),_0x26debd,_0xf0f3('0x1a'));return _0x372810['next']();}var _0x14a9ea={'ContactId':this[_0xf0f3('0x1b')]['id'],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0xf0f3('0x1c')};if(this['channel']===_0xf0f3('0xe')){_0x14a9ea[_0xf0f3('0xf')]=utils['getMustacheRender'](_0x4e6113[0x2],this);}else{_0x14a9ea['body']=utils[_0xf0f3('0x1d')](_0x4e6113[0x1],this);}if(this[_0xf0f3('0x1e')]){_0x14a9ea['to']=this['message'][_0xf0f3('0x1f')]||'';if(this['channel']==='mail'&&_0x4e6113[0x1]==='1'){_0x14a9ea['cc']=this[_0xf0f3('0x1e')]['cc']||'';}_0x14a9ea[_0xf0f3('0x1f')]=this[_0xf0f3('0x1e')]['to']||'';_0x14a9ea[_0xf0f3('0x20')]=this[_0xf0f3('0x1e')][_0xf0f3('0x20')]||'';_0x14a9ea[_0xf0f3('0x21')]=!![];if(this['message'][_0xf0f3('0x22')]){_0x14a9ea['subject']='';_0x14a9ea[_0xf0f3('0x22')]+=_[_0xf0f3('0x23')](this[_0xf0f3('0x1e')][_0xf0f3('0x22')],_0xf0f3('0x24'))?'':'Re:\x20';_0x14a9ea[_0xf0f3('0x22')]+=this[_0xf0f3('0x1e')][_0xf0f3('0x22')];}}if(this[_0xf0f3('0xd')]===_0xf0f3('0x25')){_0x14a9ea['ChatWebsiteId']=this[_0xf0f3('0x26')]['id'];}else{_0x14a9ea[_[_0xf0f3('0x27')](this['channel'])+_0xf0f3('0x28')]=this[_0xf0f3('0x26')]['id'];}_0x14a9ea[_[_0xf0f3('0x27')](this['channel'])+'InteractionId']=this[_0xf0f3('0x14')]['id'];var _0x425a86=this[_0xf0f3('0x14')];if(rpc[this[_0xf0f3('0xd')]+_0xf0f3('0x29')]){if(this[_0xf0f3('0xd')]==='mail'){_0x14a9ea[_0xf0f3('0x2a')]=this[_0xf0f3('0x1e')]['messageId'];_0x14a9ea[_0xf0f3('0x2b')]=_0xf0f3('0x2c')+_[_0xf0f3('0x2d')](_0x14a9ea[_0xf0f3('0xf')],'<div\x20id=\x22xm-mail-content\x22','<div')+'</div>';_0x14a9ea[_0xf0f3('0x2e')]={'Auto-Submitted':_0xf0f3('0x2f'),'X-Auto-Response-Suppress':_0xf0f3('0x30'),'Precedence':_0xf0f3('0x31')};return mailRpc[_0xf0f3('0x32')](this['account']['smtpOptions'],_0x14a9ea)[_0xf0f3('0x33')](function(_0x58bf93){logger[_0xf0f3('0x11')](_0xf0f3('0x34'),_0x26debd);_0x14a9ea[_0xf0f3('0x35')]=_0x58bf93['message'][_0xf0f3('0x35')];return rpc[_0x561204+_0xf0f3('0x29')][_0xf0f3('0x36')](_0x14a9ea);})[_0xf0f3('0x33')](function(_0x5d9487){logger['info']('[%s][AUTOREPLY]\x20%s',_0x26debd,JSON[_0xf0f3('0x37')](_0x5d9487));})['catch'](function(_0x6ab448){logger[_0xf0f3('0x38')]('[RPC][%s][AUTOREPLY]\x20%s',_0x26debd,JSON['stringify'](_0x6ab448));})[_0xf0f3('0x39')](function(){Promise[_0xf0f3('0x3a')]()[_0xf0f3('0x33')](function(){if(_0x4e6113[0x0]!=='2'||_0x425a86[_0xf0f3('0x18')])return;return rpc[_0x561204+_0xf0f3('0x3b')][_0xf0f3('0x3c')](_0x425a86['id'],{'autoreplyExecuted':!![]})[_0xf0f3('0x33')](function(_0x8fbc4a){logger[_0xf0f3('0x11')](_0xf0f3('0x19'),_0x26debd,JSON[_0xf0f3('0x37')](_0x8fbc4a));})[_0xf0f3('0x3d')](function(_0x41832e){logger[_0xf0f3('0x38')](_0xf0f3('0x3e'),_0x26debd,JSON[_0xf0f3('0x37')](_0x41832e));});})[_0xf0f3('0x33')](function(){_0x372810[_0xf0f3('0x13')]();});});}else{return rpc[this[_0xf0f3('0xd')]+'Message'][_0xf0f3('0x36')](_0x14a9ea)['then'](function(){logger[_0xf0f3('0x11')](_0xf0f3('0x16'),_0x26debd,_0x14a9ea['body']);})['catch'](function(_0x18c797){logger[_0xf0f3('0x38')](_0xf0f3('0x16'),_0x26debd,JSON[_0xf0f3('0x37')](_0x18c797));})[_0xf0f3('0x39')](function(){Promise[_0xf0f3('0x3a')]()[_0xf0f3('0x33')](function(){if(_0x4e6113[0x0]!=='2'||_0x425a86[_0xf0f3('0x18')])return;return rpc[_0x561204+_0xf0f3('0x3b')][_0xf0f3('0x3c')](_0x425a86['id'],{'autoreplyExecuted':!![]})[_0xf0f3('0x33')](function(_0x45b615){logger[_0xf0f3('0x11')](_0xf0f3('0x19'),_0x26debd,JSON[_0xf0f3('0x37')](_0x45b615));})[_0xf0f3('0x3d')](function(_0x455790){logger[_0xf0f3('0x38')](_0xf0f3('0x3e'),_0x26debd,JSON[_0xf0f3('0x37')](_0x455790));});})['then'](function(){_0x372810[_0xf0f3('0x13')]();});});}}}catch(_0x41b433){logger[_0xf0f3('0x38')](_0xf0f3('0x16'),_0x26debd,JSON[_0xf0f3('0x37')](_0x41b433));_0x372810[_0xf0f3('0x3f')]();}};};