Built motion from commit d1eab355.|2.6.28
[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 _0xf019=['../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','Autoreply\x20already\x20sent','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','format','YYYY-MM-DD\x20HH:mm:ss','out','message','phone','read','subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','account','upperFirst','InteractionId','Message','inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22>','replace','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','then','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','autoreplyExecuted','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','resolve','Interaction','stop','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/faxMessage'];(function(_0x262baa,_0x283058){var _0x4f2257=function(_0x2cd1c6){while(--_0x2cd1c6){_0x262baa['push'](_0x262baa['shift']());}};_0x4f2257(++_0x283058);}(_0xf019,0xcd));var _0x9f01=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xf019[_0x321bb2];return _0x9c12ed;};'use strict';var _=require(_0x9f01('0x0'));var moment=require(_0x9f01('0x1'));var utils=require(_0x9f01('0x2'));var logger=require(_0x9f01('0x3'))(_0x9f01('0x4'));var rpc={'chatMessage':require(_0x9f01('0x5')),'openchannelMessage':require(_0x9f01('0x6')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x9f01('0x7')),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require(_0x9f01('0x8')),'openchannelInteraction':require(_0x9f01('0x9')),'mailInteraction':require(_0x9f01('0xa')),'smsInteraction':require(_0x9f01('0xb')),'faxInteraction':require(_0x9f01('0xc')),'whatsappInteraction':require(_0x9f01('0xd'))};var mailRpc=require(_0x9f01('0xe'));exports[_0x9f01('0xf')]=function(_0x478875,_0x5c4fe3,_0x58e4ab,_0x19f5b2){return function(_0x299fe6){try{var _0xd690af=this[_0x9f01('0x10')];if(_0xd690af===_0x9f01('0x11')&&_0x19f5b2[_0x9f01('0x12')][_0x9f01('0x13')]){logger[_0x9f01('0x14')](_0x9f01('0x15'),_0x478875,_0x9f01('0x16'));return _0x299fe6[_0x9f01('0x17')]();}if(_0x5c4fe3[0x0]==='1'&&(_[_0x9f01('0x18')](this[_0x9f01('0x19')]['created'])||!this['interaction'][_0x9f01('0x1a')])){logger[_0x9f01('0x14')]('[%s][AUTOREPLY]\x20%s',_0x478875,_0x9f01('0x1b'));return _0x299fe6[_0x9f01('0x17')]();}if(_0x5c4fe3[0x0]==='2'&&this[_0x9f01('0x19')]['autoreplyExecuted']){logger[_0x9f01('0x14')](_0x9f01('0x1c'),_0x478875,_0x9f01('0x1d'));return _0x299fe6[_0x9f01('0x17')]();}var _0x4964f0={'ContactId':this['contact']['id'],'sentAt':moment()[_0x9f01('0x1e')](_0x9f01('0x1f')),'direction':_0x9f01('0x20')};if(this[_0x9f01('0x10')]===_0x9f01('0x11')){_0x4964f0['body']=utils['getMustacheRender'](_0x5c4fe3[0x2],this);}else{_0x4964f0[_0x9f01('0x12')]=utils['getMustacheRender'](_0x5c4fe3[0x1],this);}if(this[_0x9f01('0x21')]){_0x4964f0['to']=this[_0x9f01('0x21')]['from']||'';if(this[_0x9f01('0x10')]===_0x9f01('0x11')&&_0x5c4fe3[0x1]==='1'){_0x4964f0['cc']=this[_0x9f01('0x21')]['cc']||'';}_0x4964f0['from']=this['message']['to']||'';_0x4964f0[_0x9f01('0x22')]=this[_0x9f01('0x21')][_0x9f01('0x22')]||'';_0x4964f0[_0x9f01('0x23')]=!![];if(this[_0x9f01('0x21')][_0x9f01('0x24')]){_0x4964f0[_0x9f01('0x24')]='';_0x4964f0[_0x9f01('0x24')]+=_[_0x9f01('0x25')](this[_0x9f01('0x21')][_0x9f01('0x24')],_0x9f01('0x26'))?'':_0x9f01('0x27');_0x4964f0[_0x9f01('0x24')]+=this['message']['subject'];}}if(this['channel']===_0x9f01('0x28')){_0x4964f0[_0x9f01('0x29')]=this[_0x9f01('0x2a')]['id'];}else{_0x4964f0[_[_0x9f01('0x2b')](this['channel'])+'AccountId']=this[_0x9f01('0x2a')]['id'];}_0x4964f0[_[_0x9f01('0x2b')](this['channel'])+_0x9f01('0x2c')]=this[_0x9f01('0x19')]['id'];var _0x44560b=this[_0x9f01('0x19')];if(rpc[this[_0x9f01('0x10')]+_0x9f01('0x2d')]){if(this['channel']===_0x9f01('0x11')){_0x4964f0[_0x9f01('0x2e')]=this[_0x9f01('0x21')][_0x9f01('0x2f')];_0x4964f0['html']=_0x9f01('0x30')+_[_0x9f01('0x31')](_0x4964f0[_0x9f01('0x12')],'<div\x20id=\x22xm-mail-content\x22',_0x9f01('0x32'))+_0x9f01('0x33');_0x4964f0[_0x9f01('0x34')]={'Auto-Submitted':_0x9f01('0x35'),'X-Auto-Response-Suppress':_0x9f01('0x36'),'Precedence':_0x9f01('0x37')};return mailRpc[_0x9f01('0x38')](this[_0x9f01('0x2a')][_0x9f01('0x39')],_0x4964f0)[_0x9f01('0x3a')](function(_0x554114){logger[_0x9f01('0x14')]('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x478875);_0x4964f0[_0x9f01('0x2f')]=_0x554114[_0x9f01('0x21')][_0x9f01('0x2f')];return rpc[_0xd690af+_0x9f01('0x2d')][_0x9f01('0x3b')](_0x4964f0);})['then'](function(_0x304217){logger['info'](_0x9f01('0x15'),_0x478875,JSON[_0x9f01('0x3c')](_0x304217));})[_0x9f01('0x3d')](function(_0x22efc1){logger[_0x9f01('0x3e')](_0x9f01('0x3f'),_0x478875,JSON[_0x9f01('0x3c')](_0x22efc1));})[_0x9f01('0x40')](function(){Promise['resolve']()[_0x9f01('0x3a')](function(){if(_0x5c4fe3[0x0]!=='2'||_0x44560b[_0x9f01('0x41')])return;return rpc[_0xd690af+'Interaction'][_0x9f01('0x42')](_0x44560b['id'],{'autoreplyExecuted':!![]})['then'](function(_0x119f8f){logger[_0x9f01('0x14')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x478875,JSON['stringify'](_0x119f8f));})[_0x9f01('0x3d')](function(_0x483c24){logger['error'](_0x9f01('0x43'),_0x478875,JSON[_0x9f01('0x3c')](_0x483c24));});})[_0x9f01('0x3a')](function(){_0x299fe6[_0x9f01('0x17')]();});});}else{return rpc[this[_0x9f01('0x10')]+_0x9f01('0x2d')]['create'](_0x4964f0)[_0x9f01('0x3a')](function(){logger[_0x9f01('0x14')](_0x9f01('0x15'),_0x478875,_0x4964f0[_0x9f01('0x12')]);})['catch'](function(_0x1ac952){logger[_0x9f01('0x3e')](_0x9f01('0x15'),_0x478875,JSON[_0x9f01('0x3c')](_0x1ac952));})['finally'](function(){Promise[_0x9f01('0x44')]()['then'](function(){if(_0x5c4fe3[0x0]!=='2'||_0x44560b[_0x9f01('0x41')])return;return rpc[_0xd690af+_0x9f01('0x45')][_0x9f01('0x42')](_0x44560b['id'],{'autoreplyExecuted':!![]})[_0x9f01('0x3a')](function(_0x47e7a2){logger[_0x9f01('0x14')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x478875,JSON[_0x9f01('0x3c')](_0x47e7a2));})[_0x9f01('0x3d')](function(_0x366aa2){logger[_0x9f01('0x3e')](_0x9f01('0x43'),_0x478875,JSON[_0x9f01('0x3c')](_0x366aa2));});})['then'](function(){_0x299fe6[_0x9f01('0x17')]();});});}}}catch(_0x341688){logger['error'](_0x9f01('0x15'),_0x478875,JSON[_0x9f01('0x3c')](_0x341688));_0x299fe6[_0x9f01('0x46')]();}};};