Built motion from commit 47436d59.|2.6.7
[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 _0xa6fc=['[%s][AUTOREPLY][autoreplyExecuted]\x20%s','lodash','moment','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/whatsappInteraction','../../mailRpc','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','isNil','interaction','created','Autoreply\x20already\x20sent','next','autoreplyExecuted','contact','out','getMustacheRender','message','from','phone','subject','startsWith','Re:','chat','ChatWebsiteId','account','AccountId','upperFirst','Message','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','auto_reply','sendMailMessage','smtpOptions','then','create','error','[RPC][%s][AUTOREPLY]\x20%s','stringify','Interaction','catch','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','resolve','update'];(function(_0x53259d,_0x4ca6a2){var _0x165f2e=function(_0x16faa7){while(--_0x16faa7){_0x53259d['push'](_0x53259d['shift']());}};_0x165f2e(++_0x4ca6a2);}(_0xa6fc,0xbe));var _0xca6f=function(_0x2931d7,_0x18b3ee){_0x2931d7=_0x2931d7-0x0;var _0x145a7f=_0xa6fc[_0x2931d7];return _0x145a7f;};'use strict';var _=require(_0xca6f('0x0'));var moment=require(_0xca6f('0x1'));var utils=require(_0xca6f('0x2'));var logger=require(_0xca6f('0x3'))('routing');var rpc={'chatMessage':require(_0xca6f('0x4')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0xca6f('0x5')),'smsMessage':require(_0xca6f('0x6')),'faxMessage':require(_0xca6f('0x7')),'whatsappMessage':require(_0xca6f('0x8')),'chatInteraction':require(_0xca6f('0x9')),'openchannelInteraction':require(_0xca6f('0xa')),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require(_0xca6f('0xb'))};var mailRpc=require(_0xca6f('0xc'));exports['consequence']=function(_0x56fd0f,_0x237728,_0x43d90c,_0x3d921e){return function(_0x2816e4){try{var _0x4df335=this[_0xca6f('0xd')];if(_0x4df335===_0xca6f('0xe')&&_0x3d921e[_0xca6f('0xf')][_0xca6f('0x10')]){logger[_0xca6f('0x11')](_0xca6f('0x12'),_0x56fd0f,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x2816e4['next']();}if(_0x237728[0x0]==='1'&&(_[_0xca6f('0x13')](this[_0xca6f('0x14')][_0xca6f('0x15')])||!this[_0xca6f('0x14')]['created'])){logger[_0xca6f('0x11')](_0xca6f('0x12'),_0x56fd0f,_0xca6f('0x16'));return _0x2816e4[_0xca6f('0x17')]();}if(_0x237728[0x0]==='2'&&this[_0xca6f('0x14')][_0xca6f('0x18')]){logger[_0xca6f('0x11')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x56fd0f,'One\x20Time\x20already\x20sent');return _0x2816e4['next']();}var _0xd9cce3={'ContactId':this[_0xca6f('0x19')]['id'],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0xca6f('0x1a')};if(this['channel']===_0xca6f('0xe')){_0xd9cce3[_0xca6f('0xf')]=utils[_0xca6f('0x1b')](_0x237728[0x2],this);}else{_0xd9cce3[_0xca6f('0xf')]=utils[_0xca6f('0x1b')](_0x237728[0x1],this);}if(this[_0xca6f('0x1c')]){_0xd9cce3['to']=this['message']['from']||'';if(this[_0xca6f('0xd')]===_0xca6f('0xe')&&_0x237728[0x1]==='1'){_0xd9cce3['cc']=this[_0xca6f('0x1c')]['cc']||'';}_0xd9cce3[_0xca6f('0x1d')]=this[_0xca6f('0x1c')]['to']||'';_0xd9cce3[_0xca6f('0x1e')]=this[_0xca6f('0x1c')][_0xca6f('0x1e')]||'';_0xd9cce3['read']=!![];if(this[_0xca6f('0x1c')][_0xca6f('0x1f')]){_0xd9cce3[_0xca6f('0x1f')]='';_0xd9cce3[_0xca6f('0x1f')]+=_[_0xca6f('0x20')](this[_0xca6f('0x1c')][_0xca6f('0x1f')],_0xca6f('0x21'))?'':'Re:\x20';_0xd9cce3[_0xca6f('0x1f')]+=this[_0xca6f('0x1c')]['subject'];}}if(this['channel']===_0xca6f('0x22')){_0xd9cce3[_0xca6f('0x23')]=this[_0xca6f('0x24')]['id'];}else{_0xd9cce3[_['upperFirst'](this[_0xca6f('0xd')])+_0xca6f('0x25')]=this[_0xca6f('0x24')]['id'];}_0xd9cce3[_[_0xca6f('0x26')](this[_0xca6f('0xd')])+'InteractionId']=this[_0xca6f('0x14')]['id'];var _0x13becb=this[_0xca6f('0x14')];if(rpc[this[_0xca6f('0xd')]+_0xca6f('0x27')]){if(this['channel']===_0xca6f('0xe')){_0xd9cce3['inReplyTo']=this[_0xca6f('0x1c')][_0xca6f('0x28')];_0xd9cce3[_0xca6f('0x29')]=_0xca6f('0x2a')+_[_0xca6f('0x2b')](_0xd9cce3['body'],_0xca6f('0x2c'),_0xca6f('0x2d'))+_0xca6f('0x2e');_0xd9cce3[_0xca6f('0x2f')]={'Auto-Submitted':_0xca6f('0x30'),'X-Auto-Response-Suppress':'All','Precedence':_0xca6f('0x31')};return mailRpc[_0xca6f('0x32')](this['account'][_0xca6f('0x33')],_0xd9cce3)[_0xca6f('0x34')](function(_0x499deb){logger[_0xca6f('0x11')]('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x56fd0f);_0xd9cce3[_0xca6f('0x28')]=_0x499deb[_0xca6f('0x1c')][_0xca6f('0x28')];return rpc[_0x4df335+_0xca6f('0x27')][_0xca6f('0x35')](_0xd9cce3);})['then'](function(_0x3da1a2){logger[_0xca6f('0x11')](_0xca6f('0x12'),_0x56fd0f,JSON['stringify'](_0x3da1a2));})['catch'](function(_0x5980d3){logger[_0xca6f('0x36')](_0xca6f('0x37'),_0x56fd0f,JSON[_0xca6f('0x38')](_0x5980d3));})['finally'](function(){Promise['resolve']()[_0xca6f('0x34')](function(){if(_0x237728[0x0]!=='2'||_0x13becb[_0xca6f('0x18')])return;return rpc[_0x4df335+_0xca6f('0x39')]['update'](_0x13becb['id'],{'autoreplyExecuted':!![]})['then'](function(_0x49073a){logger[_0xca6f('0x11')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x56fd0f,JSON['stringify'](_0x49073a));})[_0xca6f('0x3a')](function(_0x138e41){logger['error'](_0xca6f('0x3b'),_0x56fd0f,JSON[_0xca6f('0x38')](_0x138e41));});})[_0xca6f('0x34')](function(){_0x2816e4[_0xca6f('0x17')]();});});}else{return rpc[this[_0xca6f('0xd')]+_0xca6f('0x27')]['create'](_0xd9cce3)['then'](function(){logger[_0xca6f('0x11')](_0xca6f('0x12'),_0x56fd0f,_0xd9cce3[_0xca6f('0xf')]);})['catch'](function(_0x3057e3){logger[_0xca6f('0x36')](_0xca6f('0x12'),_0x56fd0f,JSON[_0xca6f('0x38')](_0x3057e3));})['finally'](function(){Promise[_0xca6f('0x3c')]()['then'](function(){if(_0x237728[0x0]!=='2'||_0x13becb['autoreplyExecuted'])return;return rpc[_0x4df335+'Interaction'][_0xca6f('0x3d')](_0x13becb['id'],{'autoreplyExecuted':!![]})[_0xca6f('0x34')](function(_0x5f258e){logger[_0xca6f('0x11')](_0xca6f('0x3e'),_0x56fd0f,JSON[_0xca6f('0x38')](_0x5f258e));})[_0xca6f('0x3a')](function(_0xdacd5d){logger['error'](_0xca6f('0x3b'),_0x56fd0f,JSON['stringify'](_0xdacd5d));});})['then'](function(){_0x2816e4[_0xca6f('0x17')]();});});}}}catch(_0x53f5f7){logger[_0xca6f('0x36')](_0xca6f('0x12'),_0x56fd0f,JSON[_0xca6f('0x38')](_0x53f5f7));_0x2816e4['stop']();}};};