61eea15ff220fd6d1744a21c6f12e70da46e85e2
[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 _0xafbb=['Autoreply\x20already\x20sent','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','YYYY-MM-DD\x20HH:mm:ss','getMustacheRender','message','channel','from','phone','read','subject','Re:','Re:\x20','chat','ChatWebsiteId','upperFirst','AccountId','account','InteractionId','Message','<div\x20id=\x22xm-mail-content\x22','<div','</div>','auto-replied','auto_reply','sendMailMessage','smtpOptions','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','error','[RPC][%s][AUTOREPLY]\x20%s','stringify','finally','resolve','then','autoreplyExecuted','update','catch','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','Interaction','stop','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','mail','body','info','[%s][AUTOREPLY]\x20%s','next','isNil','interaction','created'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0xafbb,0x1ab));var _0xbafb=function(_0x553650,_0x1d243f){_0x553650=_0x553650-0x0;var _0x1af2db=_0xafbb[_0x553650];return _0x1af2db;};'use strict';var _=require('lodash');var moment=require('moment');var utils=require(_0xbafb('0x0'));var logger=require(_0xbafb('0x1'))('routing');var rpc={'chatMessage':require(_0xbafb('0x2')),'openchannelMessage':require(_0xbafb('0x3')),'mailMessage':require(_0xbafb('0x4')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xbafb('0x5')),'whatsappMessage':require(_0xbafb('0x6')),'chatInteraction':require(_0xbafb('0x7')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0xbafb('0x8')),'smsInteraction':require(_0xbafb('0x9')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require(_0xbafb('0xa'))};var mailRpc=require(_0xbafb('0xb'));exports[_0xbafb('0xc')]=function(_0x42addc,_0xf8d78a,_0x3b9df9,_0x5da664){return function(_0x406966){try{var _0x47792b=this['channel'];if(_0x47792b===_0xbafb('0xd')&&_0x5da664[_0xbafb('0xe')]['isAutoreply']){logger[_0xbafb('0xf')](_0xbafb('0x10'),_0x42addc,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x406966[_0xbafb('0x11')]();}if(_0xf8d78a[0x0]==='1'&&(_[_0xbafb('0x12')](this[_0xbafb('0x13')][_0xbafb('0x14')])||!this[_0xbafb('0x13')][_0xbafb('0x14')])){logger['info'](_0xbafb('0x10'),_0x42addc,_0xbafb('0x15'));return _0x406966[_0xbafb('0x11')]();}if(_0xf8d78a[0x0]==='2'&&this[_0xbafb('0x13')]['autoreplyExecuted']){logger[_0xbafb('0xf')](_0xbafb('0x16'),_0x42addc,_0xbafb('0x17'));return _0x406966[_0xbafb('0x11')]();}var _0x18f5b9={'ContactId':this[_0xbafb('0x18')]['id'],'sentAt':moment()['format'](_0xbafb('0x19')),'direction':'out'};if(this['channel']==='mail'){_0x18f5b9[_0xbafb('0xe')]=utils[_0xbafb('0x1a')](_0xf8d78a[0x2],this);}else{_0x18f5b9['body']=utils[_0xbafb('0x1a')](_0xf8d78a[0x1],this);}if(this[_0xbafb('0x1b')]){_0x18f5b9['to']=this[_0xbafb('0x1b')]['from']||'';if(this[_0xbafb('0x1c')]===_0xbafb('0xd')&&_0xf8d78a[0x1]==='1'){_0x18f5b9['cc']=this[_0xbafb('0x1b')]['cc']||'';}_0x18f5b9[_0xbafb('0x1d')]=this[_0xbafb('0x1b')]['to']||'';_0x18f5b9[_0xbafb('0x1e')]=this[_0xbafb('0x1b')]['phone']||'';_0x18f5b9[_0xbafb('0x1f')]=!![];if(this[_0xbafb('0x1b')][_0xbafb('0x20')]){_0x18f5b9['subject']='';_0x18f5b9[_0xbafb('0x20')]+=_['startsWith'](this['message'][_0xbafb('0x20')],_0xbafb('0x21'))?'':_0xbafb('0x22');_0x18f5b9['subject']+=this['message'][_0xbafb('0x20')];}}if(this[_0xbafb('0x1c')]===_0xbafb('0x23')){_0x18f5b9[_0xbafb('0x24')]=this['account']['id'];}else{_0x18f5b9[_[_0xbafb('0x25')](this[_0xbafb('0x1c')])+_0xbafb('0x26')]=this[_0xbafb('0x27')]['id'];}_0x18f5b9[_[_0xbafb('0x25')](this[_0xbafb('0x1c')])+_0xbafb('0x28')]=this['interaction']['id'];var _0x2c772d=this[_0xbafb('0x13')];if(rpc[this[_0xbafb('0x1c')]+_0xbafb('0x29')]){if(this[_0xbafb('0x1c')]===_0xbafb('0xd')){_0x18f5b9['inReplyTo']=this[_0xbafb('0x1b')]['messageId'];_0x18f5b9['html']='<div\x20id=\x22xm-mail-content\x22>'+_['replace'](_0x18f5b9['body'],_0xbafb('0x2a'),_0xbafb('0x2b'))+_0xbafb('0x2c');_0x18f5b9['headers']={'Auto-Submitted':_0xbafb('0x2d'),'X-Auto-Response-Suppress':'All','Precedence':_0xbafb('0x2e')};return mailRpc[_0xbafb('0x2f')](this[_0xbafb('0x27')][_0xbafb('0x30')],_0x18f5b9)['then'](function(_0x2e312b){logger[_0xbafb('0xf')](_0xbafb('0x31'),_0x42addc);_0x18f5b9['messageId']=_0x2e312b[_0xbafb('0x1b')][_0xbafb('0x32')];return rpc[_0x47792b+_0xbafb('0x29')][_0xbafb('0x33')](_0x18f5b9);})['then'](function(_0x13feed){logger['info'](_0xbafb('0x10'),_0x42addc,JSON['stringify'](_0x13feed));})['catch'](function(_0x595e3c){logger[_0xbafb('0x34')](_0xbafb('0x35'),_0x42addc,JSON[_0xbafb('0x36')](_0x595e3c));})[_0xbafb('0x37')](function(){Promise[_0xbafb('0x38')]()[_0xbafb('0x39')](function(){if(_0xf8d78a[0x0]!=='2'||_0x2c772d[_0xbafb('0x3a')])return;return rpc[_0x47792b+'Interaction'][_0xbafb('0x3b')](_0x2c772d['id'],{'autoreplyExecuted':!![]})[_0xbafb('0x39')](function(_0x1482c9){logger[_0xbafb('0xf')](_0xbafb('0x16'),_0x42addc,JSON[_0xbafb('0x36')](_0x1482c9));})[_0xbafb('0x3c')](function(_0x8f7a74){logger[_0xbafb('0x34')](_0xbafb('0x3d'),_0x42addc,JSON[_0xbafb('0x36')](_0x8f7a74));});})[_0xbafb('0x39')](function(){_0x406966[_0xbafb('0x11')]();});});}else{return rpc[this[_0xbafb('0x1c')]+'Message'][_0xbafb('0x33')](_0x18f5b9)[_0xbafb('0x39')](function(){logger[_0xbafb('0xf')](_0xbafb('0x10'),_0x42addc,_0x18f5b9[_0xbafb('0xe')]);})['catch'](function(_0x924230){logger[_0xbafb('0x34')](_0xbafb('0x10'),_0x42addc,JSON[_0xbafb('0x36')](_0x924230));})[_0xbafb('0x37')](function(){Promise[_0xbafb('0x38')]()['then'](function(){if(_0xf8d78a[0x0]!=='2'||_0x2c772d[_0xbafb('0x3a')])return;return rpc[_0x47792b+_0xbafb('0x3e')][_0xbafb('0x3b')](_0x2c772d['id'],{'autoreplyExecuted':!![]})[_0xbafb('0x39')](function(_0x395474){logger['info'](_0xbafb('0x16'),_0x42addc,JSON[_0xbafb('0x36')](_0x395474));})['catch'](function(_0x3eba56){logger[_0xbafb('0x34')](_0xbafb('0x3d'),_0x42addc,JSON[_0xbafb('0x36')](_0x3eba56));});})[_0xbafb('0x39')](function(){_0x406966['next']();});});}}}catch(_0x1aa0eb){logger[_0xbafb('0x34')](_0xbafb('0x10'),_0x42addc,JSON[_0xbafb('0x36')](_0x1aa0eb));_0x406966[_0xbafb('0x3f')]();}};};