539dd69323aebf3c49127dd3ed48938bd9c01225
[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 _0x3a1b=['./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/openchannelInteraction','../../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','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','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','AccountId','upperFirst','InteractionId','Message','inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','finally','resolve','then','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','update','stop','moment'];(function(_0x36bf6b,_0x5dd433){var _0x20db61=function(_0x39267c){while(--_0x39267c){_0x36bf6b['push'](_0x36bf6b['shift']());}};_0x20db61(++_0x5dd433);}(_0x3a1b,0x158));var _0xb3a1=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0x3a1b[_0xfae23b];return _0x200640;};'use strict';var _=require('lodash');var moment=require(_0xb3a1('0x0'));var utils=require(_0xb3a1('0x1'));var logger=require(_0xb3a1('0x2'))(_0xb3a1('0x3'));var rpc={'chatMessage':require(_0xb3a1('0x4')),'openchannelMessage':require(_0xb3a1('0x5')),'mailMessage':require(_0xb3a1('0x6')),'smsMessage':require(_0xb3a1('0x7')),'faxMessage':require(_0xb3a1('0x8')),'whatsappMessage':require(_0xb3a1('0x9')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require(_0xb3a1('0xa')),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0xb3a1('0xb')),'whatsappInteraction':require(_0xb3a1('0xc'))};var mailRpc=require(_0xb3a1('0xd'));exports[_0xb3a1('0xe')]=function(_0xd58c3b,_0x1ba00d,_0x5d66c5,_0x46b508){return function(_0x3a4ca9){try{var _0x3ab73f=this[_0xb3a1('0xf')];if(_0x3ab73f===_0xb3a1('0x10')&&_0x46b508[_0xb3a1('0x11')][_0xb3a1('0x12')]){logger[_0xb3a1('0x13')](_0xb3a1('0x14'),_0xd58c3b,_0xb3a1('0x15'));return _0x3a4ca9[_0xb3a1('0x16')]();}if(_0x1ba00d[0x0]==='1'&&(_[_0xb3a1('0x17')](this[_0xb3a1('0x18')]['created'])||!this[_0xb3a1('0x18')]['created'])){logger['info'](_0xb3a1('0x14'),_0xd58c3b,_0xb3a1('0x19'));return _0x3a4ca9[_0xb3a1('0x16')]();}if(_0x1ba00d[0x0]==='2'&&this[_0xb3a1('0x18')][_0xb3a1('0x1a')]){logger[_0xb3a1('0x13')](_0xb3a1('0x1b'),_0xd58c3b,_0xb3a1('0x1c'));return _0x3a4ca9['next']();}var _0x1307e9={'ContactId':this[_0xb3a1('0x1d')]['id'],'sentAt':moment()[_0xb3a1('0x1e')](_0xb3a1('0x1f')),'direction':'out'};if(this[_0xb3a1('0xf')]===_0xb3a1('0x10')){_0x1307e9[_0xb3a1('0x11')]=utils[_0xb3a1('0x20')](_0x1ba00d[0x2],this);}else{_0x1307e9['body']=utils['getMustacheRender'](_0x1ba00d[0x1],this);}if(this['message']){_0x1307e9['to']=this[_0xb3a1('0x21')][_0xb3a1('0x22')]||'';if(this['channel']===_0xb3a1('0x10')&&_0x1ba00d[0x1]==='1'){_0x1307e9['cc']=this['message']['cc']||'';}_0x1307e9[_0xb3a1('0x22')]=this['message']['to']||'';_0x1307e9[_0xb3a1('0x23')]=this[_0xb3a1('0x21')][_0xb3a1('0x23')]||'';_0x1307e9[_0xb3a1('0x24')]=!![];if(this[_0xb3a1('0x21')][_0xb3a1('0x25')]){_0x1307e9[_0xb3a1('0x25')]='';_0x1307e9[_0xb3a1('0x25')]+=_[_0xb3a1('0x26')](this['message']['subject'],'Re:')?'':_0xb3a1('0x27');_0x1307e9[_0xb3a1('0x25')]+=this[_0xb3a1('0x21')][_0xb3a1('0x25')];}}if(this['channel']===_0xb3a1('0x28')){_0x1307e9[_0xb3a1('0x29')]=this[_0xb3a1('0x2a')]['id'];}else{_0x1307e9[_['upperFirst'](this[_0xb3a1('0xf')])+_0xb3a1('0x2b')]=this['account']['id'];}_0x1307e9[_[_0xb3a1('0x2c')](this['channel'])+_0xb3a1('0x2d')]=this[_0xb3a1('0x18')]['id'];var _0x5873d3=this[_0xb3a1('0x18')];if(rpc[this['channel']+_0xb3a1('0x2e')]){if(this[_0xb3a1('0xf')]===_0xb3a1('0x10')){_0x1307e9[_0xb3a1('0x2f')]=this[_0xb3a1('0x21')][_0xb3a1('0x30')];_0x1307e9['html']='<div\x20id=\x22xm-mail-content\x22>'+_['replace'](_0x1307e9[_0xb3a1('0x11')],_0xb3a1('0x31'),_0xb3a1('0x32'))+_0xb3a1('0x33');_0x1307e9[_0xb3a1('0x34')]={'Auto-Submitted':_0xb3a1('0x35'),'X-Auto-Response-Suppress':_0xb3a1('0x36'),'Precedence':_0xb3a1('0x37')};return mailRpc[_0xb3a1('0x38')](this['account'][_0xb3a1('0x39')],_0x1307e9)['then'](function(_0x2882c7){logger['info'](_0xb3a1('0x3a'),_0xd58c3b);_0x1307e9['messageId']=_0x2882c7[_0xb3a1('0x21')][_0xb3a1('0x30')];return rpc[_0x3ab73f+'Message'][_0xb3a1('0x3b')](_0x1307e9);})['then'](function(_0xb17f72){logger[_0xb3a1('0x13')](_0xb3a1('0x14'),_0xd58c3b,JSON[_0xb3a1('0x3c')](_0xb17f72));})[_0xb3a1('0x3d')](function(_0x53ed4e){logger[_0xb3a1('0x3e')]('[RPC][%s][AUTOREPLY]\x20%s',_0xd58c3b,JSON[_0xb3a1('0x3c')](_0x53ed4e));})[_0xb3a1('0x3f')](function(){Promise[_0xb3a1('0x40')]()[_0xb3a1('0x41')](function(){if(_0x1ba00d[0x0]!=='2'||_0x5873d3[_0xb3a1('0x1a')])return;return rpc[_0x3ab73f+'Interaction']['update'](_0x5873d3['id'],{'autoreplyExecuted':!![]})[_0xb3a1('0x41')](function(_0x3e50bb){logger[_0xb3a1('0x13')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0xd58c3b,JSON[_0xb3a1('0x3c')](_0x3e50bb));})['catch'](function(_0x388c07){logger[_0xb3a1('0x3e')](_0xb3a1('0x42'),_0xd58c3b,JSON['stringify'](_0x388c07));});})[_0xb3a1('0x41')](function(){_0x3a4ca9[_0xb3a1('0x16')]();});});}else{return rpc[this[_0xb3a1('0xf')]+_0xb3a1('0x2e')]['create'](_0x1307e9)[_0xb3a1('0x41')](function(){logger[_0xb3a1('0x13')](_0xb3a1('0x14'),_0xd58c3b,_0x1307e9[_0xb3a1('0x11')]);})[_0xb3a1('0x3d')](function(_0x13448b){logger[_0xb3a1('0x3e')]('[%s][AUTOREPLY]\x20%s',_0xd58c3b,JSON['stringify'](_0x13448b));})[_0xb3a1('0x3f')](function(){Promise[_0xb3a1('0x40')]()[_0xb3a1('0x41')](function(){if(_0x1ba00d[0x0]!=='2'||_0x5873d3['autoreplyExecuted'])return;return rpc[_0x3ab73f+'Interaction'][_0xb3a1('0x43')](_0x5873d3['id'],{'autoreplyExecuted':!![]})[_0xb3a1('0x41')](function(_0x2c2cc2){logger[_0xb3a1('0x13')](_0xb3a1('0x1b'),_0xd58c3b,JSON[_0xb3a1('0x3c')](_0x2c2cc2));})[_0xb3a1('0x3d')](function(_0x3f726e){logger['error'](_0xb3a1('0x42'),_0xd58c3b,JSON['stringify'](_0x3f726e));});})['then'](function(){_0x3a4ca9['next']();});});}}}catch(_0x1e38ca){logger['error'](_0xb3a1('0x14'),_0xd58c3b,JSON[_0xb3a1('0x3c')](_0x1e38ca));_0x3a4ca9[_0xb3a1('0x44')]();}};};