Built motion from commit fe909640.|2.6.8
[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 _0xc570=['body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','interaction','created','Autoreply\x20already\x20sent','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','getMustacheRender','message','from','phone','read','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','AccountId','upperFirst','InteractionId','Message','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','auto-replied','All','sendMailMessage','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','then','stringify','error','finally','resolve','update','catch','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','autoreplyExecuted','Interaction','stop','moment','./utils','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','mail'];(function(_0x1ecb3f,_0xa5c076){var _0x4fb80c=function(_0x458cf2){while(--_0x458cf2){_0x1ecb3f['push'](_0x1ecb3f['shift']());}};_0x4fb80c(++_0xa5c076);}(_0xc570,0x142));var _0x0c57=function(_0x373dee,_0x1a8c45){_0x373dee=_0x373dee-0x0;var _0x46798f=_0xc570[_0x373dee];return _0x46798f;};'use strict';var _=require('lodash');var moment=require(_0x0c57('0x0'));var utils=require(_0x0c57('0x1'));var logger=require('../../../../config/logger')('routing');var rpc={'chatMessage':require(_0x0c57('0x2')),'openchannelMessage':require(_0x0c57('0x3')),'mailMessage':require(_0x0c57('0x4')),'smsMessage':require(_0x0c57('0x5')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x0c57('0x6')),'smsInteraction':require(_0x0c57('0x7')),'faxInteraction':require(_0x0c57('0x8')),'whatsappInteraction':require(_0x0c57('0x9'))};var mailRpc=require(_0x0c57('0xa'));exports[_0x0c57('0xb')]=function(_0x504bf3,_0x4853e2,_0x581d67,_0xfdb760){return function(_0x3de76a){try{var _0x84800b=this['channel'];if(_0x84800b===_0x0c57('0xc')&&_0xfdb760[_0x0c57('0xd')][_0x0c57('0xe')]){logger[_0x0c57('0xf')](_0x0c57('0x10'),_0x504bf3,_0x0c57('0x11'));return _0x3de76a[_0x0c57('0x12')]();}if(_0x4853e2[0x0]==='1'&&(_['isNil'](this[_0x0c57('0x13')][_0x0c57('0x14')])||!this['interaction'][_0x0c57('0x14')])){logger['info'](_0x0c57('0x10'),_0x504bf3,_0x0c57('0x15'));return _0x3de76a['next']();}if(_0x4853e2[0x0]==='2'&&this[_0x0c57('0x13')]['autoreplyExecuted']){logger['info'](_0x0c57('0x16'),_0x504bf3,_0x0c57('0x17'));return _0x3de76a[_0x0c57('0x12')]();}var _0x29b521={'ContactId':this[_0x0c57('0x18')]['id'],'sentAt':moment()[_0x0c57('0x19')](_0x0c57('0x1a')),'direction':_0x0c57('0x1b')};if(this[_0x0c57('0x1c')]===_0x0c57('0xc')){_0x29b521[_0x0c57('0xd')]=utils[_0x0c57('0x1d')](_0x4853e2[0x2],this);}else{_0x29b521['body']=utils[_0x0c57('0x1d')](_0x4853e2[0x1],this);}if(this['message']){_0x29b521['to']=this[_0x0c57('0x1e')][_0x0c57('0x1f')]||'';if(this[_0x0c57('0x1c')]==='mail'&&_0x4853e2[0x1]==='1'){_0x29b521['cc']=this[_0x0c57('0x1e')]['cc']||'';}_0x29b521[_0x0c57('0x1f')]=this[_0x0c57('0x1e')]['to']||'';_0x29b521[_0x0c57('0x20')]=this[_0x0c57('0x1e')][_0x0c57('0x20')]||'';_0x29b521[_0x0c57('0x21')]=!![];if(this[_0x0c57('0x1e')][_0x0c57('0x22')]){_0x29b521[_0x0c57('0x22')]='';_0x29b521[_0x0c57('0x22')]+=_[_0x0c57('0x23')](this[_0x0c57('0x1e')][_0x0c57('0x22')],'Re:')?'':_0x0c57('0x24');_0x29b521['subject']+=this['message'][_0x0c57('0x22')];}}if(this[_0x0c57('0x1c')]===_0x0c57('0x25')){_0x29b521[_0x0c57('0x26')]=this[_0x0c57('0x27')]['id'];}else{_0x29b521[_['upperFirst'](this[_0x0c57('0x1c')])+_0x0c57('0x28')]=this[_0x0c57('0x27')]['id'];}_0x29b521[_[_0x0c57('0x29')](this['channel'])+_0x0c57('0x2a')]=this[_0x0c57('0x13')]['id'];var _0x1cfcca=this[_0x0c57('0x13')];if(rpc[this['channel']+_0x0c57('0x2b')]){if(this[_0x0c57('0x1c')]===_0x0c57('0xc')){_0x29b521[_0x0c57('0x2c')]=this[_0x0c57('0x1e')][_0x0c57('0x2d')];_0x29b521[_0x0c57('0x2e')]=_0x0c57('0x2f')+_[_0x0c57('0x30')](_0x29b521[_0x0c57('0xd')],_0x0c57('0x31'),_0x0c57('0x32'))+'</div>';_0x29b521['headers']={'Auto-Submitted':_0x0c57('0x33'),'X-Auto-Response-Suppress':_0x0c57('0x34'),'Precedence':'auto_reply'};return mailRpc[_0x0c57('0x35')](this[_0x0c57('0x27')]['smtpOptions'],_0x29b521)['then'](function(_0x50cea9){logger[_0x0c57('0xf')](_0x0c57('0x36'),_0x504bf3);_0x29b521[_0x0c57('0x2d')]=_0x50cea9['message'][_0x0c57('0x2d')];return rpc[_0x84800b+_0x0c57('0x2b')][_0x0c57('0x37')](_0x29b521);})[_0x0c57('0x38')](function(_0x4fcb1d){logger[_0x0c57('0xf')](_0x0c57('0x10'),_0x504bf3,JSON[_0x0c57('0x39')](_0x4fcb1d));})['catch'](function(_0x2d3e5f){logger[_0x0c57('0x3a')]('[RPC][%s][AUTOREPLY]\x20%s',_0x504bf3,JSON['stringify'](_0x2d3e5f));})[_0x0c57('0x3b')](function(){Promise[_0x0c57('0x3c')]()[_0x0c57('0x38')](function(){if(_0x4853e2[0x0]!=='2'||_0x1cfcca['autoreplyExecuted'])return;return rpc[_0x84800b+'Interaction'][_0x0c57('0x3d')](_0x1cfcca['id'],{'autoreplyExecuted':!![]})[_0x0c57('0x38')](function(_0x3c216c){logger['info'](_0x0c57('0x16'),_0x504bf3,JSON[_0x0c57('0x39')](_0x3c216c));})[_0x0c57('0x3e')](function(_0x3f72c5){logger[_0x0c57('0x3a')](_0x0c57('0x3f'),_0x504bf3,JSON[_0x0c57('0x39')](_0x3f72c5));});})['then'](function(){_0x3de76a[_0x0c57('0x12')]();});});}else{return rpc[this[_0x0c57('0x1c')]+_0x0c57('0x2b')]['create'](_0x29b521)['then'](function(){logger['info'](_0x0c57('0x10'),_0x504bf3,_0x29b521[_0x0c57('0xd')]);})[_0x0c57('0x3e')](function(_0x14d4e5){logger[_0x0c57('0x3a')](_0x0c57('0x10'),_0x504bf3,JSON[_0x0c57('0x39')](_0x14d4e5));})[_0x0c57('0x3b')](function(){Promise[_0x0c57('0x3c')]()[_0x0c57('0x38')](function(){if(_0x4853e2[0x0]!=='2'||_0x1cfcca[_0x0c57('0x40')])return;return rpc[_0x84800b+_0x0c57('0x41')][_0x0c57('0x3d')](_0x1cfcca['id'],{'autoreplyExecuted':!![]})[_0x0c57('0x38')](function(_0x45cb11){logger[_0x0c57('0xf')](_0x0c57('0x16'),_0x504bf3,JSON[_0x0c57('0x39')](_0x45cb11));})[_0x0c57('0x3e')](function(_0x246c8d){logger[_0x0c57('0x3a')](_0x0c57('0x3f'),_0x504bf3,JSON[_0x0c57('0x39')](_0x246c8d));});})[_0x0c57('0x38')](function(){_0x3de76a[_0x0c57('0x12')]();});});}}}catch(_0x308b95){logger['error'](_0x0c57('0x10'),_0x504bf3,JSON[_0x0c57('0x39')](_0x308b95));_0x3de76a[_0x0c57('0x42')]();}};};