Built motion from commit d5e4af8c.|2.6.23
[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 _0x975d=['<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','catch','stringify','finally','resolve','Interaction','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','error','stop','lodash','moment','./utils','../../../../config/logger','../../rpc/openchannelMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','mail','isAutoreply','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','info','Autoreply\x20already\x20sent','autoreplyExecuted','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','channel','getMustacheRender','body','message','from','phone','read','subject','Re:\x20','chat','ChatWebsiteId','account','AccountId','upperFirst','Message','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace'];(function(_0x5f2ed4,_0x38a732){var _0x1fe7e0=function(_0x2ef190){while(--_0x2ef190){_0x5f2ed4['push'](_0x5f2ed4['shift']());}};_0x1fe7e0(++_0x38a732);}(_0x975d,0xe6));var _0xd975=function(_0x3f827f,_0x5c8266){_0x3f827f=_0x3f827f-0x0;var _0x28599e=_0x975d[_0x3f827f];return _0x28599e;};'use strict';var _=require(_0xd975('0x0'));var moment=require(_0xd975('0x1'));var utils=require(_0xd975('0x2'));var logger=require(_0xd975('0x3'))('routing');var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0xd975('0x4')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xd975('0x5')),'whatsappMessage':require(_0xd975('0x6')),'chatInteraction':require(_0xd975('0x7')),'openchannelInteraction':require(_0xd975('0x8')),'mailInteraction':require(_0xd975('0x9')),'smsInteraction':require(_0xd975('0xa')),'faxInteraction':require(_0xd975('0xb')),'whatsappInteraction':require(_0xd975('0xc'))};var mailRpc=require(_0xd975('0xd'));exports[_0xd975('0xe')]=function(_0x268d2c,_0x115d77,_0x4bc1cd,_0x550d4c){return function(_0x46c537){try{var _0x577003=this['channel'];if(_0x577003===_0xd975('0xf')&&_0x550d4c['body'][_0xd975('0x10')]){logger['info'](_0xd975('0x11'),_0x268d2c,_0xd975('0x12'));return _0x46c537[_0xd975('0x13')]();}if(_0x115d77[0x0]==='1'&&(_[_0xd975('0x14')](this[_0xd975('0x15')][_0xd975('0x16')])||!this[_0xd975('0x15')][_0xd975('0x16')])){logger[_0xd975('0x17')](_0xd975('0x11'),_0x268d2c,_0xd975('0x18'));return _0x46c537[_0xd975('0x13')]();}if(_0x115d77[0x0]==='2'&&this[_0xd975('0x15')][_0xd975('0x19')]){logger['info']('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x268d2c,_0xd975('0x1a'));return _0x46c537['next']();}var _0xba614a={'ContactId':this[_0xd975('0x1b')]['id'],'sentAt':moment()[_0xd975('0x1c')](_0xd975('0x1d')),'direction':'out'};if(this[_0xd975('0x1e')]===_0xd975('0xf')){_0xba614a['body']=utils[_0xd975('0x1f')](_0x115d77[0x2],this);}else{_0xba614a[_0xd975('0x20')]=utils[_0xd975('0x1f')](_0x115d77[0x1],this);}if(this[_0xd975('0x21')]){_0xba614a['to']=this['message'][_0xd975('0x22')]||'';if(this[_0xd975('0x1e')]==='mail'&&_0x115d77[0x1]==='1'){_0xba614a['cc']=this[_0xd975('0x21')]['cc']||'';}_0xba614a['from']=this['message']['to']||'';_0xba614a[_0xd975('0x23')]=this[_0xd975('0x21')][_0xd975('0x23')]||'';_0xba614a[_0xd975('0x24')]=!![];if(this['message'][_0xd975('0x25')]){_0xba614a[_0xd975('0x25')]='';_0xba614a[_0xd975('0x25')]+=_['startsWith'](this[_0xd975('0x21')]['subject'],'Re:')?'':_0xd975('0x26');_0xba614a[_0xd975('0x25')]+=this[_0xd975('0x21')][_0xd975('0x25')];}}if(this[_0xd975('0x1e')]===_0xd975('0x27')){_0xba614a[_0xd975('0x28')]=this[_0xd975('0x29')]['id'];}else{_0xba614a[_['upperFirst'](this[_0xd975('0x1e')])+_0xd975('0x2a')]=this[_0xd975('0x29')]['id'];}_0xba614a[_[_0xd975('0x2b')](this[_0xd975('0x1e')])+'InteractionId']=this[_0xd975('0x15')]['id'];var _0x4e667d=this[_0xd975('0x15')];if(rpc[this['channel']+_0xd975('0x2c')]){if(this[_0xd975('0x1e')]===_0xd975('0xf')){_0xba614a[_0xd975('0x2d')]=this[_0xd975('0x21')][_0xd975('0x2e')];_0xba614a[_0xd975('0x2f')]=_0xd975('0x30')+_[_0xd975('0x31')](_0xba614a[_0xd975('0x20')],'<div\x20id=\x22xm-mail-content\x22',_0xd975('0x32'))+_0xd975('0x33');_0xba614a[_0xd975('0x34')]={'Auto-Submitted':_0xd975('0x35'),'X-Auto-Response-Suppress':_0xd975('0x36'),'Precedence':_0xd975('0x37')};return mailRpc[_0xd975('0x38')](this[_0xd975('0x29')][_0xd975('0x39')],_0xba614a)[_0xd975('0x3a')](function(_0x2273a0){logger[_0xd975('0x17')](_0xd975('0x3b'),_0x268d2c);_0xba614a[_0xd975('0x2e')]=_0x2273a0['message'][_0xd975('0x2e')];return rpc[_0x577003+_0xd975('0x2c')][_0xd975('0x3c')](_0xba614a);})['then'](function(_0x12eb2e){logger[_0xd975('0x17')](_0xd975('0x11'),_0x268d2c,JSON['stringify'](_0x12eb2e));})[_0xd975('0x3d')](function(_0x2510a1){logger['error']('[RPC][%s][AUTOREPLY]\x20%s',_0x268d2c,JSON[_0xd975('0x3e')](_0x2510a1));})[_0xd975('0x3f')](function(){Promise[_0xd975('0x40')]()[_0xd975('0x3a')](function(){if(_0x115d77[0x0]!=='2'||_0x4e667d['autoreplyExecuted'])return;return rpc[_0x577003+_0xd975('0x41')]['update'](_0x4e667d['id'],{'autoreplyExecuted':!![]})[_0xd975('0x3a')](function(_0x49e11d){logger[_0xd975('0x17')](_0xd975('0x42'),_0x268d2c,JSON[_0xd975('0x3e')](_0x49e11d));})[_0xd975('0x3d')](function(_0x466167){logger['error'](_0xd975('0x43'),_0x268d2c,JSON[_0xd975('0x3e')](_0x466167));});})[_0xd975('0x3a')](function(){_0x46c537['next']();});});}else{return rpc[this[_0xd975('0x1e')]+_0xd975('0x2c')]['create'](_0xba614a)[_0xd975('0x3a')](function(){logger[_0xd975('0x17')](_0xd975('0x11'),_0x268d2c,_0xba614a[_0xd975('0x20')]);})[_0xd975('0x3d')](function(_0xf1c3){logger['error'](_0xd975('0x11'),_0x268d2c,JSON[_0xd975('0x3e')](_0xf1c3));})['finally'](function(){Promise[_0xd975('0x40')]()['then'](function(){if(_0x115d77[0x0]!=='2'||_0x4e667d['autoreplyExecuted'])return;return rpc[_0x577003+_0xd975('0x41')]['update'](_0x4e667d['id'],{'autoreplyExecuted':!![]})[_0xd975('0x3a')](function(_0x967c48){logger['info']('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x268d2c,JSON[_0xd975('0x3e')](_0x967c48));})['catch'](function(_0x1d4a17){logger[_0xd975('0x44')](_0xd975('0x43'),_0x268d2c,JSON[_0xd975('0x3e')](_0x1d4a17));});})[_0xd975('0x3a')](function(){_0x46c537[_0xd975('0x13')]();});});}}}catch(_0x270318){logger[_0xd975('0x44')](_0xd975('0x11'),_0x268d2c,JSON[_0xd975('0x3e')](_0x270318));_0x46c537[_0xd975('0x45')]();}};};