Built motion from commit efa66e19.|2.6.22
[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 _0x6900=['smtpOptions','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','Message','create','catch','error','[RPC][%s][AUTOREPLY]\x20%s','stringify','resolve','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','then','finally','stop','lodash','moment','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','out','getMustacheRender','message','from','phone','read','subject','Re:\x20','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','inReplyTo','html','replace','<div','headers','All'];(function(_0x44bcb0,_0x235aa9){var _0xfaf881=function(_0x25d81d){while(--_0x25d81d){_0x44bcb0['push'](_0x44bcb0['shift']());}};_0xfaf881(++_0x235aa9);}(_0x6900,0x19c));var _0x0690=function(_0x32b542,_0x4512fa){_0x32b542=_0x32b542-0x0;var _0x554d54=_0x6900[_0x32b542];return _0x554d54;};'use strict';var _=require(_0x0690('0x0'));var moment=require(_0x0690('0x1'));var utils=require('./utils');var logger=require(_0x0690('0x2'))(_0x0690('0x3'));var rpc={'chatMessage':require(_0x0690('0x4')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x0690('0x5')),'smsMessage':require(_0x0690('0x6')),'faxMessage':require(_0x0690('0x7')),'whatsappMessage':require(_0x0690('0x8')),'chatInteraction':require(_0x0690('0x9')),'openchannelInteraction':require(_0x0690('0xa')),'mailInteraction':require(_0x0690('0xb')),'smsInteraction':require(_0x0690('0xc')),'faxInteraction':require(_0x0690('0xd')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x14fdc6,_0x4b1365,_0x24b238,_0x39a513){return function(_0x265713){try{var _0x44a032=this[_0x0690('0xe')];if(_0x44a032===_0x0690('0xf')&&_0x39a513[_0x0690('0x10')][_0x0690('0x11')]){logger[_0x0690('0x12')](_0x0690('0x13'),_0x14fdc6,_0x0690('0x14'));return _0x265713[_0x0690('0x15')]();}if(_0x4b1365[0x0]==='1'&&(_[_0x0690('0x16')](this[_0x0690('0x17')][_0x0690('0x18')])||!this[_0x0690('0x17')]['created'])){logger[_0x0690('0x12')](_0x0690('0x13'),_0x14fdc6,_0x0690('0x19'));return _0x265713['next']();}if(_0x4b1365[0x0]==='2'&&this[_0x0690('0x17')][_0x0690('0x1a')]){logger[_0x0690('0x12')](_0x0690('0x1b'),_0x14fdc6,_0x0690('0x1c'));return _0x265713['next']();}var _0x230908={'ContactId':this[_0x0690('0x1d')]['id'],'sentAt':moment()[_0x0690('0x1e')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x0690('0x1f')};if(this['channel']===_0x0690('0xf')){_0x230908[_0x0690('0x10')]=utils['getMustacheRender'](_0x4b1365[0x2],this);}else{_0x230908[_0x0690('0x10')]=utils[_0x0690('0x20')](_0x4b1365[0x1],this);}if(this[_0x0690('0x21')]){_0x230908['to']=this['message'][_0x0690('0x22')]||'';if(this['channel']==='mail'&&_0x4b1365[0x1]==='1'){_0x230908['cc']=this[_0x0690('0x21')]['cc']||'';}_0x230908[_0x0690('0x22')]=this[_0x0690('0x21')]['to']||'';_0x230908[_0x0690('0x23')]=this[_0x0690('0x21')][_0x0690('0x23')]||'';_0x230908[_0x0690('0x24')]=!![];if(this[_0x0690('0x21')][_0x0690('0x25')]){_0x230908['subject']='';_0x230908[_0x0690('0x25')]+=_['startsWith'](this[_0x0690('0x21')][_0x0690('0x25')],'Re:')?'':_0x0690('0x26');_0x230908[_0x0690('0x25')]+=this['message'][_0x0690('0x25')];}}if(this[_0x0690('0xe')]==='chat'){_0x230908[_0x0690('0x27')]=this[_0x0690('0x28')]['id'];}else{_0x230908[_[_0x0690('0x29')](this['channel'])+_0x0690('0x2a')]=this['account']['id'];}_0x230908[_[_0x0690('0x29')](this[_0x0690('0xe')])+_0x0690('0x2b')]=this[_0x0690('0x17')]['id'];var _0x2f5158=this[_0x0690('0x17')];if(rpc[this[_0x0690('0xe')]+'Message']){if(this[_0x0690('0xe')]==='mail'){_0x230908[_0x0690('0x2c')]=this['message']['messageId'];_0x230908[_0x0690('0x2d')]='<div\x20id=\x22xm-mail-content\x22>'+_[_0x0690('0x2e')](_0x230908[_0x0690('0x10')],'<div\x20id=\x22xm-mail-content\x22',_0x0690('0x2f'))+'</div>';_0x230908[_0x0690('0x30')]={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':_0x0690('0x31'),'Precedence':'auto_reply'};return mailRpc['sendMailMessage'](this['account'][_0x0690('0x32')],_0x230908)['then'](function(_0x14c731){logger[_0x0690('0x12')](_0x0690('0x33'),_0x14fdc6);_0x230908[_0x0690('0x34')]=_0x14c731[_0x0690('0x21')]['messageId'];return rpc[_0x44a032+_0x0690('0x35')][_0x0690('0x36')](_0x230908);})['then'](function(_0x315fbf){logger[_0x0690('0x12')](_0x0690('0x13'),_0x14fdc6,JSON['stringify'](_0x315fbf));})[_0x0690('0x37')](function(_0x55e62d){logger[_0x0690('0x38')](_0x0690('0x39'),_0x14fdc6,JSON[_0x0690('0x3a')](_0x55e62d));})['finally'](function(){Promise[_0x0690('0x3b')]()['then'](function(){if(_0x4b1365[0x0]!=='2'||_0x2f5158[_0x0690('0x1a')])return;return rpc[_0x44a032+_0x0690('0x3c')][_0x0690('0x3d')](_0x2f5158['id'],{'autoreplyExecuted':!![]})['then'](function(_0x1a7d11){logger[_0x0690('0x12')](_0x0690('0x1b'),_0x14fdc6,JSON['stringify'](_0x1a7d11));})[_0x0690('0x37')](function(_0x1edb58){logger[_0x0690('0x38')](_0x0690('0x3e'),_0x14fdc6,JSON[_0x0690('0x3a')](_0x1edb58));});})[_0x0690('0x3f')](function(){_0x265713[_0x0690('0x15')]();});});}else{return rpc[this[_0x0690('0xe')]+_0x0690('0x35')][_0x0690('0x36')](_0x230908)['then'](function(){logger[_0x0690('0x12')](_0x0690('0x13'),_0x14fdc6,_0x230908[_0x0690('0x10')]);})[_0x0690('0x37')](function(_0x547118){logger['error'](_0x0690('0x13'),_0x14fdc6,JSON[_0x0690('0x3a')](_0x547118));})[_0x0690('0x40')](function(){Promise[_0x0690('0x3b')]()[_0x0690('0x3f')](function(){if(_0x4b1365[0x0]!=='2'||_0x2f5158[_0x0690('0x1a')])return;return rpc[_0x44a032+_0x0690('0x3c')][_0x0690('0x3d')](_0x2f5158['id'],{'autoreplyExecuted':!![]})[_0x0690('0x3f')](function(_0x7355c7){logger[_0x0690('0x12')](_0x0690('0x1b'),_0x14fdc6,JSON[_0x0690('0x3a')](_0x7355c7));})['catch'](function(_0x48241a){logger[_0x0690('0x38')](_0x0690('0x3e'),_0x14fdc6,JSON[_0x0690('0x3a')](_0x48241a));});})[_0x0690('0x3f')](function(){_0x265713[_0x0690('0x15')]();});});}}}catch(_0x1ba8ff){logger[_0x0690('0x38')](_0x0690('0x13'),_0x14fdc6,JSON[_0x0690('0x3a')](_0x1ba8ff));_0x265713[_0x0690('0x41')]();}};};