Built motion from commit 1fa89557.|2.6.10
[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 _0xcbcf=['One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','read','subject','startsWith','Re:','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','headers','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','catch','error','[RPC][%s][AUTOREPLY]\x20%s','stringify','finally','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','resolve','stop','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','consequence','channel','mail','body','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s'];(function(_0x27c575,_0x34d0c4){var _0x1c15fb=function(_0x3e15a8){while(--_0x3e15a8){_0x27c575['push'](_0x27c575['shift']());}};_0x1c15fb(++_0x34d0c4);}(_0xcbcf,0x185));var _0xfcbc=function(_0x496b44,_0x5880da){_0x496b44=_0x496b44-0x0;var _0x189d97=_0xcbcf[_0x496b44];return _0x189d97;};'use strict';var _=require(_0xfcbc('0x0'));var moment=require(_0xfcbc('0x1'));var utils=require(_0xfcbc('0x2'));var logger=require(_0xfcbc('0x3'))(_0xfcbc('0x4'));var rpc={'chatMessage':require(_0xfcbc('0x5')),'openchannelMessage':require(_0xfcbc('0x6')),'mailMessage':require(_0xfcbc('0x7')),'smsMessage':require(_0xfcbc('0x8')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0xfcbc('0x9')),'chatInteraction':require(_0xfcbc('0xa')),'openchannelInteraction':require(_0xfcbc('0xb')),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require('../../mailRpc');exports[_0xfcbc('0xc')]=function(_0x7bc763,_0x1f465a,_0xf9bea2,_0x2ec165){return function(_0x21b2aa){try{var _0x5b3665=this[_0xfcbc('0xd')];if(_0x5b3665===_0xfcbc('0xe')&&_0x2ec165[_0xfcbc('0xf')]['isAutoreply']){logger[_0xfcbc('0x10')](_0xfcbc('0x11'),_0x7bc763,_0xfcbc('0x12'));return _0x21b2aa[_0xfcbc('0x13')]();}if(_0x1f465a[0x0]==='1'&&(_[_0xfcbc('0x14')](this['interaction']['created'])||!this[_0xfcbc('0x15')][_0xfcbc('0x16')])){logger[_0xfcbc('0x10')]('[%s][AUTOREPLY]\x20%s',_0x7bc763,'Autoreply\x20already\x20sent');return _0x21b2aa[_0xfcbc('0x13')]();}if(_0x1f465a[0x0]==='2'&&this['interaction'][_0xfcbc('0x17')]){logger[_0xfcbc('0x10')](_0xfcbc('0x18'),_0x7bc763,_0xfcbc('0x19'));return _0x21b2aa[_0xfcbc('0x13')]();}var _0x594d57={'ContactId':this[_0xfcbc('0x1a')]['id'],'sentAt':moment()[_0xfcbc('0x1b')](_0xfcbc('0x1c')),'direction':_0xfcbc('0x1d')};if(this[_0xfcbc('0xd')]==='mail'){_0x594d57[_0xfcbc('0xf')]=utils['getMustacheRender'](_0x1f465a[0x2],this);}else{_0x594d57['body']=utils[_0xfcbc('0x1e')](_0x1f465a[0x1],this);}if(this[_0xfcbc('0x1f')]){_0x594d57['to']=this[_0xfcbc('0x1f')][_0xfcbc('0x20')]||'';if(this[_0xfcbc('0xd')]===_0xfcbc('0xe')&&_0x1f465a[0x1]==='1'){_0x594d57['cc']=this[_0xfcbc('0x1f')]['cc']||'';}_0x594d57['from']=this[_0xfcbc('0x1f')]['to']||'';_0x594d57['phone']=this[_0xfcbc('0x1f')]['phone']||'';_0x594d57[_0xfcbc('0x21')]=!![];if(this[_0xfcbc('0x1f')][_0xfcbc('0x22')]){_0x594d57[_0xfcbc('0x22')]='';_0x594d57[_0xfcbc('0x22')]+=_[_0xfcbc('0x23')](this['message']['subject'],_0xfcbc('0x24'))?'':'Re:\x20';_0x594d57[_0xfcbc('0x22')]+=this[_0xfcbc('0x1f')][_0xfcbc('0x22')];}}if(this[_0xfcbc('0xd')]==='chat'){_0x594d57[_0xfcbc('0x25')]=this[_0xfcbc('0x26')]['id'];}else{_0x594d57[_[_0xfcbc('0x27')](this[_0xfcbc('0xd')])+_0xfcbc('0x28')]=this[_0xfcbc('0x26')]['id'];}_0x594d57[_[_0xfcbc('0x27')](this['channel'])+_0xfcbc('0x29')]=this[_0xfcbc('0x15')]['id'];var _0x3e5851=this[_0xfcbc('0x15')];if(rpc[this[_0xfcbc('0xd')]+_0xfcbc('0x2a')]){if(this['channel']==='mail'){_0x594d57[_0xfcbc('0x2b')]=this[_0xfcbc('0x1f')][_0xfcbc('0x2c')];_0x594d57[_0xfcbc('0x2d')]=_0xfcbc('0x2e')+_[_0xfcbc('0x2f')](_0x594d57['body'],_0xfcbc('0x30'),_0xfcbc('0x31'))+'</div>';_0x594d57[_0xfcbc('0x32')]={'Auto-Submitted':_0xfcbc('0x33'),'X-Auto-Response-Suppress':_0xfcbc('0x34'),'Precedence':_0xfcbc('0x35')};return mailRpc[_0xfcbc('0x36')](this['account'][_0xfcbc('0x37')],_0x594d57)[_0xfcbc('0x38')](function(_0x159c93){logger[_0xfcbc('0x10')](_0xfcbc('0x39'),_0x7bc763);_0x594d57[_0xfcbc('0x2c')]=_0x159c93[_0xfcbc('0x1f')][_0xfcbc('0x2c')];return rpc[_0x5b3665+_0xfcbc('0x2a')][_0xfcbc('0x3a')](_0x594d57);})[_0xfcbc('0x38')](function(_0x457734){logger[_0xfcbc('0x10')](_0xfcbc('0x11'),_0x7bc763,JSON['stringify'](_0x457734));})[_0xfcbc('0x3b')](function(_0x78b5a4){logger[_0xfcbc('0x3c')](_0xfcbc('0x3d'),_0x7bc763,JSON[_0xfcbc('0x3e')](_0x78b5a4));})[_0xfcbc('0x3f')](function(){Promise['resolve']()['then'](function(){if(_0x1f465a[0x0]!=='2'||_0x3e5851[_0xfcbc('0x17')])return;return rpc[_0x5b3665+_0xfcbc('0x40')][_0xfcbc('0x41')](_0x3e5851['id'],{'autoreplyExecuted':!![]})[_0xfcbc('0x38')](function(_0x46e086){logger[_0xfcbc('0x10')](_0xfcbc('0x18'),_0x7bc763,JSON[_0xfcbc('0x3e')](_0x46e086));})['catch'](function(_0x55a467){logger[_0xfcbc('0x3c')](_0xfcbc('0x42'),_0x7bc763,JSON[_0xfcbc('0x3e')](_0x55a467));});})[_0xfcbc('0x38')](function(){_0x21b2aa[_0xfcbc('0x13')]();});});}else{return rpc[this[_0xfcbc('0xd')]+'Message']['create'](_0x594d57)[_0xfcbc('0x38')](function(){logger['info'](_0xfcbc('0x11'),_0x7bc763,_0x594d57[_0xfcbc('0xf')]);})[_0xfcbc('0x3b')](function(_0x1d3ff2){logger[_0xfcbc('0x3c')](_0xfcbc('0x11'),_0x7bc763,JSON[_0xfcbc('0x3e')](_0x1d3ff2));})[_0xfcbc('0x3f')](function(){Promise[_0xfcbc('0x43')]()[_0xfcbc('0x38')](function(){if(_0x1f465a[0x0]!=='2'||_0x3e5851['autoreplyExecuted'])return;return rpc[_0x5b3665+'Interaction'][_0xfcbc('0x41')](_0x3e5851['id'],{'autoreplyExecuted':!![]})[_0xfcbc('0x38')](function(_0x54fd3c){logger[_0xfcbc('0x10')](_0xfcbc('0x18'),_0x7bc763,JSON['stringify'](_0x54fd3c));})['catch'](function(_0x55c5cf){logger[_0xfcbc('0x3c')](_0xfcbc('0x42'),_0x7bc763,JSON[_0xfcbc('0x3e')](_0x55c5cf));});})[_0xfcbc('0x38')](function(){_0x21b2aa[_0xfcbc('0x13')]();});});}}}catch(_0x204af6){logger[_0xfcbc('0x3c')](_0xfcbc('0x11'),_0x7bc763,JSON[_0xfcbc('0x3e')](_0x204af6));_0x21b2aa[_0xfcbc('0x44')]();}};};