43c6f8dd32230c22208a68d11a6168a71c0062cf
[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 _0x6d38=['auto_reply','sendMailMessage','smtpOptions','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','then','stringify','catch','resolve','autoreplyExecuted','Interaction','error','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','stop','lodash','moment','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','channel','mail','body','isAutoreply','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','interaction','created','info','next','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','</div>','auto-replied','All'];(function(_0x3ff085,_0x27c92e){var _0x2b68c3=function(_0x37811e){while(--_0x37811e){_0x3ff085['push'](_0x3ff085['shift']());}};_0x2b68c3(++_0x27c92e);}(_0x6d38,0x9a));var _0x86d3=function(_0x19e35c,_0x29cd1e){_0x19e35c=_0x19e35c-0x0;var _0x3e1fe8=_0x6d38[_0x19e35c];return _0x3e1fe8;};'use strict';var _=require(_0x86d3('0x0'));var moment=require(_0x86d3('0x1'));var utils=require(_0x86d3('0x2'));var logger=require(_0x86d3('0x3'))('routing');var rpc={'chatMessage':require(_0x86d3('0x4')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x86d3('0x5')),'smsMessage':require(_0x86d3('0x6')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require(_0x86d3('0x7')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x86d3('0x8')),'smsInteraction':require(_0x86d3('0x9')),'faxInteraction':require(_0x86d3('0xa')),'whatsappInteraction':require(_0x86d3('0xb'))};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x15fe25,_0x5ee37d,_0x1943fb,_0x183661){return function(_0x1e15ba){try{var _0x157113=this[_0x86d3('0xc')];if(_0x157113===_0x86d3('0xd')&&_0x183661[_0x86d3('0xe')][_0x86d3('0xf')]){logger['info'](_0x86d3('0x10'),_0x15fe25,_0x86d3('0x11'));return _0x1e15ba['next']();}if(_0x5ee37d[0x0]==='1'&&(_[_0x86d3('0x12')](this['interaction']['created'])||!this[_0x86d3('0x13')][_0x86d3('0x14')])){logger[_0x86d3('0x15')](_0x86d3('0x10'),_0x15fe25,'Autoreply\x20already\x20sent');return _0x1e15ba[_0x86d3('0x16')]();}if(_0x5ee37d[0x0]==='2'&&this['interaction']['autoreplyExecuted']){logger[_0x86d3('0x15')](_0x86d3('0x17'),_0x15fe25,_0x86d3('0x18'));return _0x1e15ba[_0x86d3('0x16')]();}var _0x1c1bad={'ContactId':this[_0x86d3('0x19')]['id'],'sentAt':moment()[_0x86d3('0x1a')](_0x86d3('0x1b')),'direction':_0x86d3('0x1c')};if(this['channel']===_0x86d3('0xd')){_0x1c1bad[_0x86d3('0xe')]=utils['getMustacheRender'](_0x5ee37d[0x2],this);}else{_0x1c1bad[_0x86d3('0xe')]=utils[_0x86d3('0x1d')](_0x5ee37d[0x1],this);}if(this['message']){_0x1c1bad['to']=this[_0x86d3('0x1e')][_0x86d3('0x1f')]||'';if(this['channel']===_0x86d3('0xd')&&_0x5ee37d[0x1]==='1'){_0x1c1bad['cc']=this['message']['cc']||'';}_0x1c1bad[_0x86d3('0x1f')]=this[_0x86d3('0x1e')]['to']||'';_0x1c1bad[_0x86d3('0x20')]=this[_0x86d3('0x1e')]['phone']||'';_0x1c1bad[_0x86d3('0x21')]=!![];if(this[_0x86d3('0x1e')]['subject']){_0x1c1bad[_0x86d3('0x22')]='';_0x1c1bad[_0x86d3('0x22')]+=_[_0x86d3('0x23')](this[_0x86d3('0x1e')][_0x86d3('0x22')],_0x86d3('0x24'))?'':_0x86d3('0x25');_0x1c1bad[_0x86d3('0x22')]+=this[_0x86d3('0x1e')][_0x86d3('0x22')];}}if(this[_0x86d3('0xc')]===_0x86d3('0x26')){_0x1c1bad[_0x86d3('0x27')]=this[_0x86d3('0x28')]['id'];}else{_0x1c1bad[_[_0x86d3('0x29')](this['channel'])+_0x86d3('0x2a')]=this[_0x86d3('0x28')]['id'];}_0x1c1bad[_[_0x86d3('0x29')](this['channel'])+_0x86d3('0x2b')]=this[_0x86d3('0x13')]['id'];var _0x451847=this['interaction'];if(rpc[this['channel']+_0x86d3('0x2c')]){if(this[_0x86d3('0xc')]===_0x86d3('0xd')){_0x1c1bad[_0x86d3('0x2d')]=this[_0x86d3('0x1e')]['messageId'];_0x1c1bad[_0x86d3('0x2e')]=_0x86d3('0x2f')+_[_0x86d3('0x30')](_0x1c1bad[_0x86d3('0xe')],_0x86d3('0x31'),'<div')+_0x86d3('0x32');_0x1c1bad['headers']={'Auto-Submitted':_0x86d3('0x33'),'X-Auto-Response-Suppress':_0x86d3('0x34'),'Precedence':_0x86d3('0x35')};return mailRpc[_0x86d3('0x36')](this[_0x86d3('0x28')][_0x86d3('0x37')],_0x1c1bad)['then'](function(_0xff334b){logger[_0x86d3('0x15')](_0x86d3('0x38'),_0x15fe25);_0x1c1bad['messageId']=_0xff334b[_0x86d3('0x1e')][_0x86d3('0x39')];return rpc[_0x157113+_0x86d3('0x2c')][_0x86d3('0x3a')](_0x1c1bad);})[_0x86d3('0x3b')](function(_0x106341){logger[_0x86d3('0x15')](_0x86d3('0x10'),_0x15fe25,JSON[_0x86d3('0x3c')](_0x106341));})[_0x86d3('0x3d')](function(_0x41f51b){logger['error']('[RPC][%s][AUTOREPLY]\x20%s',_0x15fe25,JSON[_0x86d3('0x3c')](_0x41f51b));})['finally'](function(){Promise[_0x86d3('0x3e')]()[_0x86d3('0x3b')](function(){if(_0x5ee37d[0x0]!=='2'||_0x451847[_0x86d3('0x3f')])return;return rpc[_0x157113+_0x86d3('0x40')]['update'](_0x451847['id'],{'autoreplyExecuted':!![]})[_0x86d3('0x3b')](function(_0x2b064d){logger[_0x86d3('0x15')](_0x86d3('0x17'),_0x15fe25,JSON[_0x86d3('0x3c')](_0x2b064d));})['catch'](function(_0x23649e){logger[_0x86d3('0x41')](_0x86d3('0x42'),_0x15fe25,JSON[_0x86d3('0x3c')](_0x23649e));});})[_0x86d3('0x3b')](function(){_0x1e15ba[_0x86d3('0x16')]();});});}else{return rpc[this[_0x86d3('0xc')]+'Message'][_0x86d3('0x3a')](_0x1c1bad)[_0x86d3('0x3b')](function(){logger[_0x86d3('0x15')]('[%s][AUTOREPLY]\x20%s',_0x15fe25,_0x1c1bad[_0x86d3('0xe')]);})[_0x86d3('0x3d')](function(_0x59c4c1){logger[_0x86d3('0x41')](_0x86d3('0x10'),_0x15fe25,JSON[_0x86d3('0x3c')](_0x59c4c1));})[_0x86d3('0x43')](function(){Promise[_0x86d3('0x3e')]()['then'](function(){if(_0x5ee37d[0x0]!=='2'||_0x451847[_0x86d3('0x3f')])return;return rpc[_0x157113+_0x86d3('0x40')]['update'](_0x451847['id'],{'autoreplyExecuted':!![]})['then'](function(_0xd729ba){logger[_0x86d3('0x15')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x15fe25,JSON[_0x86d3('0x3c')](_0xd729ba));})[_0x86d3('0x3d')](function(_0x2f2dec){logger[_0x86d3('0x41')](_0x86d3('0x42'),_0x15fe25,JSON[_0x86d3('0x3c')](_0x2f2dec));});})[_0x86d3('0x3b')](function(){_0x1e15ba[_0x86d3('0x16')]();});});}}}catch(_0x4995ab){logger[_0x86d3('0x41')](_0x86d3('0x10'),_0x15fe25,JSON[_0x86d3('0x3c')](_0x4995ab));_0x1e15ba[_0x86d3('0x44')]();}};};