Built motion from commit dbf3a7e2.|2.6.30
[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 _0x714d=['interaction','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','out','mail','body','getMustacheRender','message','phone','read','subject','startsWith','Re:','ChatWebsiteId','account','upperFirst','AccountId','Message','inReplyTo','messageId','html','replace','<div\x20id=\x22xm-mail-content\x22','</div>','headers','auto-replied','All','sendMailMessage','smtpOptions','then','info','[%s][AUTOREPLY]\x20SMTP\x20SENT','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','resolve','Interaction','stringify','create','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','lodash','moment','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','consequence','channel','isAutoreply','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','created'];(function(_0x51f9bd,_0x1b85f3){var _0x229c60=function(_0xc0b529){while(--_0xc0b529){_0x51f9bd['push'](_0x51f9bd['shift']());}};_0x229c60(++_0x1b85f3);}(_0x714d,0xb1));var _0xd714=function(_0x53c924,_0x464cd5){_0x53c924=_0x53c924-0x0;var _0x3b4f2b=_0x714d[_0x53c924];return _0x3b4f2b;};'use strict';var _=require(_0xd714('0x0'));var moment=require(_0xd714('0x1'));var utils=require(_0xd714('0x2'));var logger=require(_0xd714('0x3'))('routing');var rpc={'chatMessage':require(_0xd714('0x4')),'openchannelMessage':require(_0xd714('0x5')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0xd714('0x6')),'faxMessage':require(_0xd714('0x7')),'whatsappMessage':require(_0xd714('0x8')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require(_0xd714('0x9')),'mailInteraction':require(_0xd714('0xa')),'smsInteraction':require(_0xd714('0xb')),'faxInteraction':require(_0xd714('0xc')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require('../../mailRpc');exports[_0xd714('0xd')]=function(_0x2a7ff6,_0x3ea62d,_0x254d8d,_0x1a0e1a){return function(_0x3fbae5){try{var _0x1d0768=this[_0xd714('0xe')];if(_0x1d0768==='mail'&&_0x1a0e1a['body'][_0xd714('0xf')]){logger['info'](_0xd714('0x10'),_0x2a7ff6,_0xd714('0x11'));return _0x3fbae5[_0xd714('0x12')]();}if(_0x3ea62d[0x0]==='1'&&(_[_0xd714('0x13')](this['interaction'][_0xd714('0x14')])||!this[_0xd714('0x15')][_0xd714('0x14')])){logger['info'](_0xd714('0x10'),_0x2a7ff6,'Autoreply\x20already\x20sent');return _0x3fbae5[_0xd714('0x12')]();}if(_0x3ea62d[0x0]==='2'&&this['interaction'][_0xd714('0x16')]){logger['info'](_0xd714('0x17'),_0x2a7ff6,_0xd714('0x18'));return _0x3fbae5[_0xd714('0x12')]();}var _0x334b6b={'ContactId':this[_0xd714('0x19')]['id'],'sentAt':moment()[_0xd714('0x1a')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0xd714('0x1b')};if(this[_0xd714('0xe')]===_0xd714('0x1c')){_0x334b6b[_0xd714('0x1d')]=utils[_0xd714('0x1e')](_0x3ea62d[0x2],this);}else{_0x334b6b[_0xd714('0x1d')]=utils[_0xd714('0x1e')](_0x3ea62d[0x1],this);}if(this[_0xd714('0x1f')]){_0x334b6b['to']=this['message']['from']||'';if(this['channel']==='mail'&&_0x3ea62d[0x1]==='1'){_0x334b6b['cc']=this[_0xd714('0x1f')]['cc']||'';}_0x334b6b['from']=this[_0xd714('0x1f')]['to']||'';_0x334b6b[_0xd714('0x20')]=this[_0xd714('0x1f')][_0xd714('0x20')]||'';_0x334b6b[_0xd714('0x21')]=!![];if(this[_0xd714('0x1f')][_0xd714('0x22')]){_0x334b6b[_0xd714('0x22')]='';_0x334b6b['subject']+=_[_0xd714('0x23')](this[_0xd714('0x1f')][_0xd714('0x22')],_0xd714('0x24'))?'':'Re:\x20';_0x334b6b[_0xd714('0x22')]+=this[_0xd714('0x1f')][_0xd714('0x22')];}}if(this[_0xd714('0xe')]==='chat'){_0x334b6b[_0xd714('0x25')]=this[_0xd714('0x26')]['id'];}else{_0x334b6b[_[_0xd714('0x27')](this[_0xd714('0xe')])+_0xd714('0x28')]=this[_0xd714('0x26')]['id'];}_0x334b6b[_[_0xd714('0x27')](this[_0xd714('0xe')])+'InteractionId']=this['interaction']['id'];var _0x40a500=this[_0xd714('0x15')];if(rpc[this['channel']+_0xd714('0x29')]){if(this[_0xd714('0xe')]===_0xd714('0x1c')){_0x334b6b[_0xd714('0x2a')]=this[_0xd714('0x1f')][_0xd714('0x2b')];_0x334b6b[_0xd714('0x2c')]='<div\x20id=\x22xm-mail-content\x22>'+_[_0xd714('0x2d')](_0x334b6b[_0xd714('0x1d')],_0xd714('0x2e'),'<div')+_0xd714('0x2f');_0x334b6b[_0xd714('0x30')]={'Auto-Submitted':_0xd714('0x31'),'X-Auto-Response-Suppress':_0xd714('0x32'),'Precedence':'auto_reply'};return mailRpc[_0xd714('0x33')](this[_0xd714('0x26')][_0xd714('0x34')],_0x334b6b)[_0xd714('0x35')](function(_0x364e11){logger[_0xd714('0x36')](_0xd714('0x37'),_0x2a7ff6);_0x334b6b[_0xd714('0x2b')]=_0x364e11[_0xd714('0x1f')][_0xd714('0x2b')];return rpc[_0x1d0768+_0xd714('0x29')]['create'](_0x334b6b);})['then'](function(_0x3a4a3e){logger['info'](_0xd714('0x10'),_0x2a7ff6,JSON['stringify'](_0x3a4a3e));})[_0xd714('0x38')](function(_0x57225e){logger[_0xd714('0x39')](_0xd714('0x3a'),_0x2a7ff6,JSON['stringify'](_0x57225e));})[_0xd714('0x3b')](function(){Promise[_0xd714('0x3c')]()[_0xd714('0x35')](function(){if(_0x3ea62d[0x0]!=='2'||_0x40a500[_0xd714('0x16')])return;return rpc[_0x1d0768+_0xd714('0x3d')]['update'](_0x40a500['id'],{'autoreplyExecuted':!![]})[_0xd714('0x35')](function(_0x24e145){logger[_0xd714('0x36')](_0xd714('0x17'),_0x2a7ff6,JSON[_0xd714('0x3e')](_0x24e145));})[_0xd714('0x38')](function(_0x31144e){logger[_0xd714('0x39')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x2a7ff6,JSON[_0xd714('0x3e')](_0x31144e));});})['then'](function(){_0x3fbae5['next']();});});}else{return rpc[this[_0xd714('0xe')]+_0xd714('0x29')][_0xd714('0x3f')](_0x334b6b)['then'](function(){logger['info']('[%s][AUTOREPLY]\x20%s',_0x2a7ff6,_0x334b6b[_0xd714('0x1d')]);})['catch'](function(_0x5ddbd4){logger[_0xd714('0x39')](_0xd714('0x10'),_0x2a7ff6,JSON['stringify'](_0x5ddbd4));})[_0xd714('0x3b')](function(){Promise[_0xd714('0x3c')]()[_0xd714('0x35')](function(){if(_0x3ea62d[0x0]!=='2'||_0x40a500[_0xd714('0x16')])return;return rpc[_0x1d0768+_0xd714('0x3d')][_0xd714('0x40')](_0x40a500['id'],{'autoreplyExecuted':!![]})[_0xd714('0x35')](function(_0x161252){logger[_0xd714('0x36')](_0xd714('0x17'),_0x2a7ff6,JSON['stringify'](_0x161252));})['catch'](function(_0x7b5267){logger[_0xd714('0x39')](_0xd714('0x41'),_0x2a7ff6,JSON['stringify'](_0x7b5267));});})['then'](function(){_0x3fbae5['next']();});});}}}catch(_0x493795){logger[_0xd714('0x39')]('[%s][AUTOREPLY]\x20%s',_0x2a7ff6,JSON[_0xd714('0x3e')](_0x493795));_0x3fbae5['stop']();}};};