e99b5b9a38d7ba3779a8052f258d2314f575c9be
[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 _0x7910=['next','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','phone','read','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','AccountId','upperFirst','InteractionId','interaction','Message','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','finally','resolve','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','error','stop','lodash','moment','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/faxInteraction','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','created','Autoreply\x20already\x20sent'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x7910,0x104));var _0x0791=function(_0x4a82ac,_0x1fb931){_0x4a82ac=_0x4a82ac-0x0;var _0x58ee97=_0x7910[_0x4a82ac];return _0x58ee97;};'use strict';var _=require(_0x0791('0x0'));var moment=require(_0x0791('0x1'));var utils=require('./utils');var logger=require(_0x0791('0x2'))(_0x0791('0x3'));var rpc={'chatMessage':require(_0x0791('0x4')),'openchannelMessage':require(_0x0791('0x5')),'mailMessage':require(_0x0791('0x6')),'smsMessage':require(_0x0791('0x7')),'faxMessage':require(_0x0791('0x8')),'whatsappMessage':require(_0x0791('0x9')),'chatInteraction':require(_0x0791('0xa')),'openchannelInteraction':require(_0x0791('0xb')),'mailInteraction':require(_0x0791('0xc')),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0x0791('0xd')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x33f79d,_0x28cda5,_0x3f518d,_0x334bdf){return function(_0x351fb0){try{var _0x5c9c76=this[_0x0791('0xe')];if(_0x5c9c76===_0x0791('0xf')&&_0x334bdf[_0x0791('0x10')][_0x0791('0x11')]){logger[_0x0791('0x12')](_0x0791('0x13'),_0x33f79d,_0x0791('0x14'));return _0x351fb0['next']();}if(_0x28cda5[0x0]==='1'&&(_[_0x0791('0x15')](this['interaction']['created'])||!this['interaction'][_0x0791('0x16')])){logger[_0x0791('0x12')](_0x0791('0x13'),_0x33f79d,_0x0791('0x17'));return _0x351fb0[_0x0791('0x18')]();}if(_0x28cda5[0x0]==='2'&&this['interaction'][_0x0791('0x19')]){logger[_0x0791('0x12')](_0x0791('0x1a'),_0x33f79d,_0x0791('0x1b'));return _0x351fb0[_0x0791('0x18')]();}var _0x2fbce6={'ContactId':this[_0x0791('0x1c')]['id'],'sentAt':moment()[_0x0791('0x1d')](_0x0791('0x1e')),'direction':_0x0791('0x1f')};if(this[_0x0791('0xe')]===_0x0791('0xf')){_0x2fbce6[_0x0791('0x10')]=utils[_0x0791('0x20')](_0x28cda5[0x2],this);}else{_0x2fbce6[_0x0791('0x10')]=utils[_0x0791('0x20')](_0x28cda5[0x1],this);}if(this['message']){_0x2fbce6['to']=this[_0x0791('0x21')]['from']||'';if(this['channel']===_0x0791('0xf')&&_0x28cda5[0x1]==='1'){_0x2fbce6['cc']=this[_0x0791('0x21')]['cc']||'';}_0x2fbce6['from']=this[_0x0791('0x21')]['to']||'';_0x2fbce6[_0x0791('0x22')]=this[_0x0791('0x21')][_0x0791('0x22')]||'';_0x2fbce6[_0x0791('0x23')]=!![];if(this[_0x0791('0x21')][_0x0791('0x24')]){_0x2fbce6[_0x0791('0x24')]='';_0x2fbce6['subject']+=_[_0x0791('0x25')](this[_0x0791('0x21')][_0x0791('0x24')],'Re:')?'':_0x0791('0x26');_0x2fbce6['subject']+=this['message'][_0x0791('0x24')];}}if(this['channel']===_0x0791('0x27')){_0x2fbce6[_0x0791('0x28')]=this[_0x0791('0x29')]['id'];}else{_0x2fbce6[_['upperFirst'](this['channel'])+_0x0791('0x2a')]=this['account']['id'];}_0x2fbce6[_[_0x0791('0x2b')](this[_0x0791('0xe')])+_0x0791('0x2c')]=this[_0x0791('0x2d')]['id'];var _0x4f3a50=this[_0x0791('0x2d')];if(rpc[this[_0x0791('0xe')]+_0x0791('0x2e')]){if(this['channel']===_0x0791('0xf')){_0x2fbce6[_0x0791('0x2f')]=this[_0x0791('0x21')][_0x0791('0x30')];_0x2fbce6[_0x0791('0x31')]=_0x0791('0x32')+_[_0x0791('0x33')](_0x2fbce6[_0x0791('0x10')],_0x0791('0x34'),_0x0791('0x35'))+_0x0791('0x36');_0x2fbce6[_0x0791('0x37')]={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':_0x0791('0x38'),'Precedence':_0x0791('0x39')};return mailRpc[_0x0791('0x3a')](this[_0x0791('0x29')]['smtpOptions'],_0x2fbce6)[_0x0791('0x3b')](function(_0x2c1148){logger[_0x0791('0x12')](_0x0791('0x3c'),_0x33f79d);_0x2fbce6[_0x0791('0x30')]=_0x2c1148[_0x0791('0x21')]['messageId'];return rpc[_0x5c9c76+_0x0791('0x2e')][_0x0791('0x3d')](_0x2fbce6);})[_0x0791('0x3b')](function(_0x1b71c6){logger[_0x0791('0x12')](_0x0791('0x13'),_0x33f79d,JSON[_0x0791('0x3e')](_0x1b71c6));})[_0x0791('0x3f')](function(_0x304252){logger['error']('[RPC][%s][AUTOREPLY]\x20%s',_0x33f79d,JSON[_0x0791('0x3e')](_0x304252));})[_0x0791('0x40')](function(){Promise[_0x0791('0x41')]()[_0x0791('0x3b')](function(){if(_0x28cda5[0x0]!=='2'||_0x4f3a50[_0x0791('0x19')])return;return rpc[_0x5c9c76+_0x0791('0x42')][_0x0791('0x43')](_0x4f3a50['id'],{'autoreplyExecuted':!![]})[_0x0791('0x3b')](function(_0x57d51c){logger[_0x0791('0x12')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x33f79d,JSON[_0x0791('0x3e')](_0x57d51c));})['catch'](function(_0x3e0209){logger['error'](_0x0791('0x44'),_0x33f79d,JSON[_0x0791('0x3e')](_0x3e0209));});})['then'](function(){_0x351fb0[_0x0791('0x18')]();});});}else{return rpc[this[_0x0791('0xe')]+_0x0791('0x2e')][_0x0791('0x3d')](_0x2fbce6)[_0x0791('0x3b')](function(){logger[_0x0791('0x12')](_0x0791('0x13'),_0x33f79d,_0x2fbce6[_0x0791('0x10')]);})['catch'](function(_0x3b98a5){logger[_0x0791('0x45')](_0x0791('0x13'),_0x33f79d,JSON[_0x0791('0x3e')](_0x3b98a5));})['finally'](function(){Promise['resolve']()[_0x0791('0x3b')](function(){if(_0x28cda5[0x0]!=='2'||_0x4f3a50['autoreplyExecuted'])return;return rpc[_0x5c9c76+_0x0791('0x42')]['update'](_0x4f3a50['id'],{'autoreplyExecuted':!![]})[_0x0791('0x3b')](function(_0x33302a){logger[_0x0791('0x12')](_0x0791('0x1a'),_0x33f79d,JSON[_0x0791('0x3e')](_0x33302a));})['catch'](function(_0x2ea71a){logger['error'](_0x0791('0x44'),_0x33f79d,JSON[_0x0791('0x3e')](_0x2ea71a));});})[_0x0791('0x3b')](function(){_0x351fb0[_0x0791('0x18')]();});});}}}catch(_0x4be1d9){logger[_0x0791('0x45')](_0x0791('0x13'),_0x33f79d,JSON[_0x0791('0x3e')](_0x4be1d9));_0x351fb0[_0x0791('0x46')]();}};};