Built motion from commit e1760111.|2.6.18
[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 _0x9411=['isNil','interaction','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','mail','body','getMustacheRender','message','from','phone','read','subject','Re:','Re:\x20','upperFirst','AccountId','account','InteractionId','Message','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','auto_reply','smtpOptions','then','stringify','catch','resolve','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','create','error','stop','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','isAutoreply','info','[%s][AUTOREPLY]\x20%s','next'];(function(_0x901d12,_0x4f560e){var _0x5419d5=function(_0x6d7ba2){while(--_0x6d7ba2){_0x901d12['push'](_0x901d12['shift']());}};_0x5419d5(++_0x4f560e);}(_0x9411,0x179));var _0x1941=function(_0x38b4ac,_0x12dafd){_0x38b4ac=_0x38b4ac-0x0;var _0x2c6bf5=_0x9411[_0x38b4ac];return _0x2c6bf5;};'use strict';var _=require(_0x1941('0x0'));var moment=require(_0x1941('0x1'));var utils=require(_0x1941('0x2'));var logger=require(_0x1941('0x3'))(_0x1941('0x4'));var rpc={'chatMessage':require(_0x1941('0x5')),'openchannelMessage':require(_0x1941('0x6')),'mailMessage':require(_0x1941('0x7')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x1941('0x8')),'whatsappMessage':require(_0x1941('0x9')),'chatInteraction':require(_0x1941('0xa')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0x1941('0xb')),'whatsappInteraction':require(_0x1941('0xc'))};var mailRpc=require(_0x1941('0xd'));exports[_0x1941('0xe')]=function(_0x4b9576,_0x461064,_0x136fd7,_0x1e164d){return function(_0x3a349f){try{var _0x5d420b=this['channel'];if(_0x5d420b==='mail'&&_0x1e164d['body'][_0x1941('0xf')]){logger[_0x1941('0x10')](_0x1941('0x11'),_0x4b9576,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x3a349f[_0x1941('0x12')]();}if(_0x461064[0x0]==='1'&&(_[_0x1941('0x13')](this[_0x1941('0x14')]['created'])||!this[_0x1941('0x14')]['created'])){logger['info'](_0x1941('0x11'),_0x4b9576,_0x1941('0x15'));return _0x3a349f['next']();}if(_0x461064[0x0]==='2'&&this[_0x1941('0x14')][_0x1941('0x16')]){logger[_0x1941('0x10')](_0x1941('0x17'),_0x4b9576,_0x1941('0x18'));return _0x3a349f[_0x1941('0x12')]();}var _0x4dc75b={'ContactId':this[_0x1941('0x19')]['id'],'sentAt':moment()[_0x1941('0x1a')](_0x1941('0x1b')),'direction':_0x1941('0x1c')};if(this[_0x1941('0x1d')]===_0x1941('0x1e')){_0x4dc75b[_0x1941('0x1f')]=utils[_0x1941('0x20')](_0x461064[0x2],this);}else{_0x4dc75b[_0x1941('0x1f')]=utils[_0x1941('0x20')](_0x461064[0x1],this);}if(this[_0x1941('0x21')]){_0x4dc75b['to']=this[_0x1941('0x21')][_0x1941('0x22')]||'';if(this['channel']===_0x1941('0x1e')&&_0x461064[0x1]==='1'){_0x4dc75b['cc']=this[_0x1941('0x21')]['cc']||'';}_0x4dc75b['from']=this[_0x1941('0x21')]['to']||'';_0x4dc75b['phone']=this[_0x1941('0x21')][_0x1941('0x23')]||'';_0x4dc75b[_0x1941('0x24')]=!![];if(this[_0x1941('0x21')][_0x1941('0x25')]){_0x4dc75b[_0x1941('0x25')]='';_0x4dc75b['subject']+=_['startsWith'](this[_0x1941('0x21')][_0x1941('0x25')],_0x1941('0x26'))?'':_0x1941('0x27');_0x4dc75b[_0x1941('0x25')]+=this['message']['subject'];}}if(this[_0x1941('0x1d')]==='chat'){_0x4dc75b['ChatWebsiteId']=this['account']['id'];}else{_0x4dc75b[_[_0x1941('0x28')](this['channel'])+_0x1941('0x29')]=this[_0x1941('0x2a')]['id'];}_0x4dc75b[_[_0x1941('0x28')](this[_0x1941('0x1d')])+_0x1941('0x2b')]=this[_0x1941('0x14')]['id'];var _0x27a815=this[_0x1941('0x14')];if(rpc[this[_0x1941('0x1d')]+_0x1941('0x2c')]){if(this[_0x1941('0x1d')]==='mail'){_0x4dc75b[_0x1941('0x2d')]=this[_0x1941('0x21')][_0x1941('0x2e')];_0x4dc75b[_0x1941('0x2f')]=_0x1941('0x30')+_[_0x1941('0x31')](_0x4dc75b['body'],_0x1941('0x32'),_0x1941('0x33'))+_0x1941('0x34');_0x4dc75b[_0x1941('0x35')]={'Auto-Submitted':_0x1941('0x36'),'X-Auto-Response-Suppress':'All','Precedence':_0x1941('0x37')};return mailRpc['sendMailMessage'](this['account'][_0x1941('0x38')],_0x4dc75b)['then'](function(_0x548f53){logger['info']('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x4b9576);_0x4dc75b['messageId']=_0x548f53[_0x1941('0x21')][_0x1941('0x2e')];return rpc[_0x5d420b+'Message']['create'](_0x4dc75b);})[_0x1941('0x39')](function(_0x1c119d){logger[_0x1941('0x10')]('[%s][AUTOREPLY]\x20%s',_0x4b9576,JSON[_0x1941('0x3a')](_0x1c119d));})[_0x1941('0x3b')](function(_0x304780){logger['error']('[RPC][%s][AUTOREPLY]\x20%s',_0x4b9576,JSON[_0x1941('0x3a')](_0x304780));})['finally'](function(){Promise[_0x1941('0x3c')]()[_0x1941('0x39')](function(){if(_0x461064[0x0]!=='2'||_0x27a815['autoreplyExecuted'])return;return rpc[_0x5d420b+'Interaction'][_0x1941('0x3d')](_0x27a815['id'],{'autoreplyExecuted':!![]})['then'](function(_0x315ae1){logger['info'](_0x1941('0x17'),_0x4b9576,JSON[_0x1941('0x3a')](_0x315ae1));})[_0x1941('0x3b')](function(_0x506f4f){logger['error'](_0x1941('0x3e'),_0x4b9576,JSON[_0x1941('0x3a')](_0x506f4f));});})[_0x1941('0x39')](function(){_0x3a349f['next']();});});}else{return rpc[this[_0x1941('0x1d')]+_0x1941('0x2c')][_0x1941('0x3f')](_0x4dc75b)[_0x1941('0x39')](function(){logger[_0x1941('0x10')](_0x1941('0x11'),_0x4b9576,_0x4dc75b['body']);})[_0x1941('0x3b')](function(_0x5b7221){logger[_0x1941('0x40')]('[%s][AUTOREPLY]\x20%s',_0x4b9576,JSON[_0x1941('0x3a')](_0x5b7221));})['finally'](function(){Promise[_0x1941('0x3c')]()[_0x1941('0x39')](function(){if(_0x461064[0x0]!=='2'||_0x27a815['autoreplyExecuted'])return;return rpc[_0x5d420b+'Interaction']['update'](_0x27a815['id'],{'autoreplyExecuted':!![]})[_0x1941('0x39')](function(_0x439fb0){logger[_0x1941('0x10')](_0x1941('0x17'),_0x4b9576,JSON['stringify'](_0x439fb0));})['catch'](function(_0x340754){logger['error'](_0x1941('0x3e'),_0x4b9576,JSON[_0x1941('0x3a')](_0x340754));});})[_0x1941('0x39')](function(){_0x3a349f[_0x1941('0x12')]();});});}}}catch(_0x20fcac){logger['error'](_0x1941('0x11'),_0x4b9576,JSON[_0x1941('0x3a')](_0x20fcac));_0x3a349f[_0x1941('0x41')]();}};};