065857a47dd755cfa0d7b34aeca906579ab42e87
[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 _0x3849=['interaction','info','Autoreply\x20already\x20sent','next','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','phone','read','subject','startsWith','Re:','ChatWebsiteId','account','upperFirst','AccountId','Message','service','Smtp','host','port','secure','authentication','auth','pass','html','replace','<div\x20id=\x22xm-mail-content\x22','<div','auto-replied','All','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','[%s][AUTOREPLY]\x20%s','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','resolve','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','consequence','channel','mail','body','isAutoreply','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','created'];(function(_0x155e3a,_0x525eb4){var _0x40c038=function(_0x36bb88){while(--_0x36bb88){_0x155e3a['push'](_0x155e3a['shift']());}};_0x40c038(++_0x525eb4);}(_0x3849,0x15b));var _0x9384=function(_0x5353af,_0x2ed70c){_0x5353af=_0x5353af-0x0;var _0x1e3cd5=_0x3849[_0x5353af];return _0x1e3cd5;};'use strict';var _=require('lodash');var moment=require(_0x9384('0x0'));var utils=require(_0x9384('0x1'));var logger=require(_0x9384('0x2'))(_0x9384('0x3'));var rpc={'chatMessage':require(_0x9384('0x4')),'openchannelMessage':require(_0x9384('0x5')),'mailMessage':require(_0x9384('0x6')),'smsMessage':require(_0x9384('0x7')),'faxMessage':require(_0x9384('0x8')),'whatsappMessage':require(_0x9384('0x9')),'chatInteraction':require(_0x9384('0xa')),'openchannelInteraction':require(_0x9384('0xb')),'mailInteraction':require(_0x9384('0xc')),'smsInteraction':require(_0x9384('0xd')),'faxInteraction':require(_0x9384('0xe')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require('../../mailRpc');exports[_0x9384('0xf')]=function(_0x2ef122,_0x46c53b,_0x180ec3,_0x506a74){return function(_0x454680){try{var _0x47f590=this[_0x9384('0x10')];if(_0x47f590===_0x9384('0x11')&&_0x506a74[_0x9384('0x12')][_0x9384('0x13')]){logger['info']('[%s][AUTOREPLY]\x20%s',_0x2ef122,_0x9384('0x14'));return _0x454680['next']();}if(_0x46c53b[0x0]==='1'&&(_[_0x9384('0x15')](this['interaction'][_0x9384('0x16')])||!this[_0x9384('0x17')][_0x9384('0x16')])){logger[_0x9384('0x18')]('[%s][AUTOREPLY]\x20%s',_0x2ef122,_0x9384('0x19'));return _0x454680[_0x9384('0x1a')]();}if(_0x46c53b[0x0]==='2'&&this['interaction'][_0x9384('0x1b')]){logger['info'](_0x9384('0x1c'),_0x2ef122,'One\x20Time\x20already\x20sent');return _0x454680['next']();}var _0xc3ff22={'ContactId':this[_0x9384('0x1d')]['id'],'sentAt':moment()[_0x9384('0x1e')](_0x9384('0x1f')),'direction':_0x9384('0x20')};if(this[_0x9384('0x10')]===_0x9384('0x11')){_0xc3ff22[_0x9384('0x12')]=utils[_0x9384('0x21')](_0x46c53b[0x2],this);}else{_0xc3ff22[_0x9384('0x12')]=utils[_0x9384('0x21')](_0x46c53b[0x1],this);}if(this['message']){_0xc3ff22['to']=this[_0x9384('0x22')]['from']||'';if(this['channel']===_0x9384('0x11')&&_0x46c53b[0x1]==='1'){_0xc3ff22['cc']=this[_0x9384('0x22')]['cc']||'';}_0xc3ff22['from']=this[_0x9384('0x22')]['to']||'';_0xc3ff22[_0x9384('0x23')]=this[_0x9384('0x22')][_0x9384('0x23')]||'';_0xc3ff22[_0x9384('0x24')]=!![];if(this[_0x9384('0x22')]['subject']){_0xc3ff22[_0x9384('0x25')]='';_0xc3ff22[_0x9384('0x25')]+=_[_0x9384('0x26')](this[_0x9384('0x22')][_0x9384('0x25')],_0x9384('0x27'))?'':'Re:\x20';_0xc3ff22[_0x9384('0x25')]+=this['message'][_0x9384('0x25')];}}if(this['channel']==='chat'){_0xc3ff22[_0x9384('0x28')]=this[_0x9384('0x29')]['id'];}else{_0xc3ff22[_[_0x9384('0x2a')](this['channel'])+_0x9384('0x2b')]=this[_0x9384('0x29')]['id'];}_0xc3ff22[_[_0x9384('0x2a')](this[_0x9384('0x10')])+'InteractionId']=this[_0x9384('0x17')]['id'];var _0x52c06e=this[_0x9384('0x17')];if(rpc[this[_0x9384('0x10')]+_0x9384('0x2c')]){if(this[_0x9384('0x10')]==='mail'){var _0x29e7f4={'tls':{'rejectUnauthorized':![]}};if(this[_0x9384('0x29')]['Smtp']['service']){_0x29e7f4[_0x9384('0x2d')]=this[_0x9384('0x29')][_0x9384('0x2e')][_0x9384('0x2d')];}else{_0x29e7f4[_0x9384('0x2f')]=this[_0x9384('0x29')][_0x9384('0x2e')][_0x9384('0x2f')];_0x29e7f4['port']=this[_0x9384('0x29')]['Smtp'][_0x9384('0x30')];_0x29e7f4['secure']=this[_0x9384('0x29')][_0x9384('0x2e')][_0x9384('0x31')];}if(this['account'][_0x9384('0x2e')][_0x9384('0x32')]){_0x29e7f4[_0x9384('0x33')]={'user':this['account'][_0x9384('0x2e')]['user'],'pass':this[_0x9384('0x29')][_0x9384('0x2e')][_0x9384('0x34')]};}_0xc3ff22['inReplyTo']=this[_0x9384('0x22')]['messageId'];_0xc3ff22[_0x9384('0x35')]='<div\x20id=\x22xm-mail-content\x22>'+_[_0x9384('0x36')](_0xc3ff22[_0x9384('0x12')],_0x9384('0x37'),_0x9384('0x38'))+'</div>';_0xc3ff22['headers']={'Auto-Submitted':_0x9384('0x39'),'X-Auto-Response-Suppress':_0x9384('0x3a'),'Precedence':'auto_reply'};return mailRpc[_0x9384('0x3b')](_0x29e7f4,_0xc3ff22)[_0x9384('0x3c')](function(_0x2fd97a){logger[_0x9384('0x18')](_0x9384('0x3d'),_0x2ef122);_0xc3ff22['messageId']=_0x2fd97a[_0x9384('0x22')]['messageId'];return rpc[_0x47f590+'Message'][_0x9384('0x3e')](_0xc3ff22);})[_0x9384('0x3c')](function(_0x29be62){logger[_0x9384('0x18')](_0x9384('0x3f'),_0x2ef122,JSON[_0x9384('0x40')](_0x29be62));})[_0x9384('0x41')](function(_0x344bcf){logger[_0x9384('0x42')](_0x9384('0x43'),_0x2ef122,JSON[_0x9384('0x40')](_0x344bcf));})[_0x9384('0x44')](function(){Promise[_0x9384('0x45')]()[_0x9384('0x3c')](function(){if(_0x46c53b[0x0]!=='2'||_0x52c06e[_0x9384('0x1b')])return;return rpc[_0x47f590+_0x9384('0x46')][_0x9384('0x47')](_0x52c06e['id'],{'autoreplyExecuted':!![]})[_0x9384('0x3c')](function(_0x594cf7){logger['info'](_0x9384('0x1c'),_0x2ef122,JSON['stringify'](_0x594cf7));})['catch'](function(_0x3bd1c9){logger[_0x9384('0x42')](_0x9384('0x48'),_0x2ef122,JSON[_0x9384('0x40')](_0x3bd1c9));});})['then'](function(){_0x454680[_0x9384('0x1a')]();});});}else{return rpc[this[_0x9384('0x10')]+_0x9384('0x2c')][_0x9384('0x3e')](_0xc3ff22)[_0x9384('0x3c')](function(_0x39a1ef){logger['info'](_0x9384('0x3f'),_0x2ef122,_0xc3ff22[_0x9384('0x12')]);})['catch'](function(_0x3ad54a){logger[_0x9384('0x42')](_0x9384('0x3f'),_0x2ef122,JSON[_0x9384('0x40')](_0x3ad54a));})[_0x9384('0x44')](function(){Promise[_0x9384('0x45')]()[_0x9384('0x3c')](function(){if(_0x46c53b[0x0]!=='2'||_0x52c06e[_0x9384('0x1b')])return;return rpc[_0x47f590+_0x9384('0x46')][_0x9384('0x47')](_0x52c06e['id'],{'autoreplyExecuted':!![]})[_0x9384('0x3c')](function(_0x45007d){logger[_0x9384('0x18')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x2ef122,JSON[_0x9384('0x40')](_0x45007d));})[_0x9384('0x41')](function(_0xbedfee){logger[_0x9384('0x42')](_0x9384('0x48'),_0x2ef122,JSON[_0x9384('0x40')](_0xbedfee));});})[_0x9384('0x3c')](function(){_0x454680[_0x9384('0x1a')]();});});}}}catch(_0x48cca7){logger[_0x9384('0x42')](_0x9384('0x3f'),_0x2ef122,JSON[_0x9384('0x40')](_0x48cca7));_0x454680[_0x9384('0x49')]();}};};