Built motion from commit bab6f49e.|2.6.17
[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 _0x3b88=['message','from','phone','read','subject','startsWith','Re:','account','upperFirst','AccountId','InteractionId','Message','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div','</div>','headers','auto-replied','auto_reply','sendMailMessage','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','resolve','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender'];(function(_0x1b5aea,_0x3f04b7){var _0x15cfc6=function(_0x204e92){while(--_0x204e92){_0x1b5aea['push'](_0x1b5aea['shift']());}};_0x15cfc6(++_0x3f04b7);}(_0x3b88,0xad));var _0x83b8=function(_0x1bf815,_0x32d070){_0x1bf815=_0x1bf815-0x0;var _0x578a7a=_0x3b88[_0x1bf815];return _0x578a7a;};'use strict';var _=require(_0x83b8('0x0'));var moment=require(_0x83b8('0x1'));var utils=require(_0x83b8('0x2'));var logger=require(_0x83b8('0x3'))(_0x83b8('0x4'));var rpc={'chatMessage':require(_0x83b8('0x5')),'openchannelMessage':require(_0x83b8('0x6')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x83b8('0x7')),'faxMessage':require(_0x83b8('0x8')),'whatsappMessage':require(_0x83b8('0x9')),'chatInteraction':require(_0x83b8('0xa')),'openchannelInteraction':require(_0x83b8('0xb')),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require(_0x83b8('0xc')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require(_0x83b8('0xd'))};var mailRpc=require(_0x83b8('0xe'));exports[_0x83b8('0xf')]=function(_0x2bb345,_0x524a4c,_0x20635f,_0x4b5af4){return function(_0x5ea681){try{var _0x5748b0=this[_0x83b8('0x10')];if(_0x5748b0===_0x83b8('0x11')&&_0x4b5af4[_0x83b8('0x12')][_0x83b8('0x13')]){logger[_0x83b8('0x14')](_0x83b8('0x15'),_0x2bb345,_0x83b8('0x16'));return _0x5ea681[_0x83b8('0x17')]();}if(_0x524a4c[0x0]==='1'&&(_[_0x83b8('0x18')](this[_0x83b8('0x19')]['created'])||!this[_0x83b8('0x19')]['created'])){logger[_0x83b8('0x14')](_0x83b8('0x15'),_0x2bb345,_0x83b8('0x1a'));return _0x5ea681[_0x83b8('0x17')]();}if(_0x524a4c[0x0]==='2'&&this['interaction'][_0x83b8('0x1b')]){logger[_0x83b8('0x14')](_0x83b8('0x1c'),_0x2bb345,'One\x20Time\x20already\x20sent');return _0x5ea681[_0x83b8('0x17')]();}var _0x138474={'ContactId':this[_0x83b8('0x1d')]['id'],'sentAt':moment()[_0x83b8('0x1e')](_0x83b8('0x1f')),'direction':_0x83b8('0x20')};if(this['channel']===_0x83b8('0x11')){_0x138474[_0x83b8('0x12')]=utils[_0x83b8('0x21')](_0x524a4c[0x2],this);}else{_0x138474[_0x83b8('0x12')]=utils['getMustacheRender'](_0x524a4c[0x1],this);}if(this[_0x83b8('0x22')]){_0x138474['to']=this['message'][_0x83b8('0x23')]||'';if(this[_0x83b8('0x10')]==='mail'&&_0x524a4c[0x1]==='1'){_0x138474['cc']=this['message']['cc']||'';}_0x138474['from']=this[_0x83b8('0x22')]['to']||'';_0x138474[_0x83b8('0x24')]=this[_0x83b8('0x22')][_0x83b8('0x24')]||'';_0x138474[_0x83b8('0x25')]=!![];if(this[_0x83b8('0x22')][_0x83b8('0x26')]){_0x138474['subject']='';_0x138474[_0x83b8('0x26')]+=_[_0x83b8('0x27')](this[_0x83b8('0x22')][_0x83b8('0x26')],_0x83b8('0x28'))?'':'Re:\x20';_0x138474[_0x83b8('0x26')]+=this['message'][_0x83b8('0x26')];}}if(this[_0x83b8('0x10')]==='chat'){_0x138474['ChatWebsiteId']=this[_0x83b8('0x29')]['id'];}else{_0x138474[_[_0x83b8('0x2a')](this[_0x83b8('0x10')])+_0x83b8('0x2b')]=this['account']['id'];}_0x138474[_[_0x83b8('0x2a')](this['channel'])+_0x83b8('0x2c')]=this[_0x83b8('0x19')]['id'];var _0x372837=this[_0x83b8('0x19')];if(rpc[this['channel']+_0x83b8('0x2d')]){if(this['channel']==='mail'){_0x138474[_0x83b8('0x2e')]=this['message'][_0x83b8('0x2f')];_0x138474[_0x83b8('0x30')]=_0x83b8('0x31')+_[_0x83b8('0x32')](_0x138474[_0x83b8('0x12')],'<div\x20id=\x22xm-mail-content\x22',_0x83b8('0x33'))+_0x83b8('0x34');_0x138474[_0x83b8('0x35')]={'Auto-Submitted':_0x83b8('0x36'),'X-Auto-Response-Suppress':'All','Precedence':_0x83b8('0x37')};return mailRpc[_0x83b8('0x38')](this['account'][_0x83b8('0x39')],_0x138474)[_0x83b8('0x3a')](function(_0x523d96){logger[_0x83b8('0x14')](_0x83b8('0x3b'),_0x2bb345);_0x138474[_0x83b8('0x2f')]=_0x523d96[_0x83b8('0x22')][_0x83b8('0x2f')];return rpc[_0x5748b0+_0x83b8('0x2d')][_0x83b8('0x3c')](_0x138474);})[_0x83b8('0x3a')](function(_0x791755){logger['info'](_0x83b8('0x15'),_0x2bb345,JSON[_0x83b8('0x3d')](_0x791755));})[_0x83b8('0x3e')](function(_0x351b33){logger[_0x83b8('0x3f')]('[RPC][%s][AUTOREPLY]\x20%s',_0x2bb345,JSON[_0x83b8('0x3d')](_0x351b33));})['finally'](function(){Promise[_0x83b8('0x40')]()[_0x83b8('0x3a')](function(){if(_0x524a4c[0x0]!=='2'||_0x372837[_0x83b8('0x1b')])return;return rpc[_0x5748b0+_0x83b8('0x41')][_0x83b8('0x42')](_0x372837['id'],{'autoreplyExecuted':!![]})[_0x83b8('0x3a')](function(_0x3925cf){logger[_0x83b8('0x14')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x2bb345,JSON['stringify'](_0x3925cf));})['catch'](function(_0x1e5946){logger[_0x83b8('0x3f')](_0x83b8('0x43'),_0x2bb345,JSON[_0x83b8('0x3d')](_0x1e5946));});})[_0x83b8('0x3a')](function(){_0x5ea681[_0x83b8('0x17')]();});});}else{return rpc[this[_0x83b8('0x10')]+'Message'][_0x83b8('0x3c')](_0x138474)[_0x83b8('0x3a')](function(){logger['info'](_0x83b8('0x15'),_0x2bb345,_0x138474[_0x83b8('0x12')]);})[_0x83b8('0x3e')](function(_0x1dc87d){logger[_0x83b8('0x3f')](_0x83b8('0x15'),_0x2bb345,JSON[_0x83b8('0x3d')](_0x1dc87d));})[_0x83b8('0x44')](function(){Promise[_0x83b8('0x40')]()[_0x83b8('0x3a')](function(){if(_0x524a4c[0x0]!=='2'||_0x372837['autoreplyExecuted'])return;return rpc[_0x5748b0+_0x83b8('0x41')]['update'](_0x372837['id'],{'autoreplyExecuted':!![]})['then'](function(_0x8b7918){logger[_0x83b8('0x14')](_0x83b8('0x1c'),_0x2bb345,JSON[_0x83b8('0x3d')](_0x8b7918));})[_0x83b8('0x3e')](function(_0xd8a0ba){logger['error'](_0x83b8('0x43'),_0x2bb345,JSON[_0x83b8('0x3d')](_0xd8a0ba));});})['then'](function(){_0x5ea681['next']();});});}}}catch(_0x454d63){logger[_0x83b8('0x3f')](_0x83b8('0x15'),_0x2bb345,JSON['stringify'](_0x454d63));_0x5ea681['stop']();}};};