Built motion from commit da617fac.|2.6.6
[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 _0xfe0c=['chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','headers','auto-replied','All','sendMailMessage','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','[%s][AUTOREPLY]\x20%s','stringify','catch','[RPC][%s][AUTOREPLY]\x20%s','Interaction','update','error','create','autoreplyExecuted','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../mailRpc','consequence','channel','body','isAutoreply','info','next','isNil','interaction','created','Autoreply\x20already\x20sent','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','contact','YYYY-MM-DD\x20HH:mm:ss','out','mail','getMustacheRender','message','from','phone','subject','startsWith','Re:','Re:\x20'];(function(_0x15c979,_0x529aee){var _0x3f396c=function(_0x4cd41c){while(--_0x4cd41c){_0x15c979['push'](_0x15c979['shift']());}};_0x3f396c(++_0x529aee);}(_0xfe0c,0xa5));var _0xcfe0=function(_0x5894e6,_0x2e6e71){_0x5894e6=_0x5894e6-0x0;var _0x144748=_0xfe0c[_0x5894e6];return _0x144748;};'use strict';var _=require(_0xcfe0('0x0'));var moment=require('moment');var utils=require(_0xcfe0('0x1'));var logger=require('../../../../config/logger')(_0xcfe0('0x2'));var rpc={'chatMessage':require(_0xcfe0('0x3')),'openchannelMessage':require(_0xcfe0('0x4')),'mailMessage':require(_0xcfe0('0x5')),'smsMessage':require(_0xcfe0('0x6')),'faxMessage':require(_0xcfe0('0x7')),'whatsappMessage':require(_0xcfe0('0x8')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0xcfe0('0x9')),'smsInteraction':require(_0xcfe0('0xa')),'faxInteraction':require(_0xcfe0('0xb')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require(_0xcfe0('0xc'));exports[_0xcfe0('0xd')]=function(_0x2ed311,_0x10c20a,_0xb400c8,_0x5aeb94){return function(_0x80f187){try{var _0x536f38=this[_0xcfe0('0xe')];if(_0x536f38==='mail'&&_0x5aeb94[_0xcfe0('0xf')][_0xcfe0('0x10')]){logger[_0xcfe0('0x11')]('[%s][AUTOREPLY]\x20%s',_0x2ed311,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x80f187[_0xcfe0('0x12')]();}if(_0x10c20a[0x0]==='1'&&(_[_0xcfe0('0x13')](this[_0xcfe0('0x14')][_0xcfe0('0x15')])||!this[_0xcfe0('0x14')][_0xcfe0('0x15')])){logger[_0xcfe0('0x11')]('[%s][AUTOREPLY]\x20%s',_0x2ed311,_0xcfe0('0x16'));return _0x80f187['next']();}if(_0x10c20a[0x0]==='2'&&this[_0xcfe0('0x14')]['autoreplyExecuted']){logger[_0xcfe0('0x11')](_0xcfe0('0x17'),_0x2ed311,'One\x20Time\x20already\x20sent');return _0x80f187[_0xcfe0('0x12')]();}var _0x5d5a2e={'ContactId':this[_0xcfe0('0x18')]['id'],'sentAt':moment()['format'](_0xcfe0('0x19')),'direction':_0xcfe0('0x1a')};if(this[_0xcfe0('0xe')]===_0xcfe0('0x1b')){_0x5d5a2e[_0xcfe0('0xf')]=utils[_0xcfe0('0x1c')](_0x10c20a[0x2],this);}else{_0x5d5a2e[_0xcfe0('0xf')]=utils[_0xcfe0('0x1c')](_0x10c20a[0x1],this);}if(this[_0xcfe0('0x1d')]){_0x5d5a2e['to']=this['message'][_0xcfe0('0x1e')]||'';if(this[_0xcfe0('0xe')]===_0xcfe0('0x1b')&&_0x10c20a[0x1]==='1'){_0x5d5a2e['cc']=this[_0xcfe0('0x1d')]['cc']||'';}_0x5d5a2e[_0xcfe0('0x1e')]=this[_0xcfe0('0x1d')]['to']||'';_0x5d5a2e[_0xcfe0('0x1f')]=this[_0xcfe0('0x1d')]['phone']||'';_0x5d5a2e['read']=!![];if(this[_0xcfe0('0x1d')]['subject']){_0x5d5a2e['subject']='';_0x5d5a2e[_0xcfe0('0x20')]+=_[_0xcfe0('0x21')](this['message'][_0xcfe0('0x20')],_0xcfe0('0x22'))?'':_0xcfe0('0x23');_0x5d5a2e['subject']+=this[_0xcfe0('0x1d')][_0xcfe0('0x20')];}}if(this[_0xcfe0('0xe')]===_0xcfe0('0x24')){_0x5d5a2e[_0xcfe0('0x25')]=this[_0xcfe0('0x26')]['id'];}else{_0x5d5a2e[_[_0xcfe0('0x27')](this['channel'])+_0xcfe0('0x28')]=this[_0xcfe0('0x26')]['id'];}_0x5d5a2e[_[_0xcfe0('0x27')](this[_0xcfe0('0xe')])+_0xcfe0('0x29')]=this[_0xcfe0('0x14')]['id'];var _0x27eba9=this[_0xcfe0('0x14')];if(rpc[this['channel']+_0xcfe0('0x2a')]){if(this['channel']==='mail'){_0x5d5a2e['inReplyTo']=this[_0xcfe0('0x1d')][_0xcfe0('0x2b')];_0x5d5a2e[_0xcfe0('0x2c')]=_0xcfe0('0x2d')+_[_0xcfe0('0x2e')](_0x5d5a2e[_0xcfe0('0xf')],_0xcfe0('0x2f'),_0xcfe0('0x30'))+'</div>';_0x5d5a2e[_0xcfe0('0x31')]={'Auto-Submitted':_0xcfe0('0x32'),'X-Auto-Response-Suppress':_0xcfe0('0x33'),'Precedence':'auto_reply'};return mailRpc[_0xcfe0('0x34')](this[_0xcfe0('0x26')][_0xcfe0('0x35')],_0x5d5a2e)[_0xcfe0('0x36')](function(_0x1f5829){logger['info'](_0xcfe0('0x37'),_0x2ed311);_0x5d5a2e[_0xcfe0('0x2b')]=_0x1f5829[_0xcfe0('0x1d')][_0xcfe0('0x2b')];return rpc[_0x536f38+_0xcfe0('0x2a')]['create'](_0x5d5a2e);})['then'](function(_0x5e0fa9){logger['info'](_0xcfe0('0x38'),_0x2ed311,JSON[_0xcfe0('0x39')](_0x5e0fa9));})[_0xcfe0('0x3a')](function(_0x49fefa){logger['error'](_0xcfe0('0x3b'),_0x2ed311,JSON['stringify'](_0x49fefa));})['finally'](function(){Promise['resolve']()['then'](function(){if(_0x10c20a[0x0]!=='2'||_0x27eba9['autoreplyExecuted'])return;return rpc[_0x536f38+_0xcfe0('0x3c')][_0xcfe0('0x3d')](_0x27eba9['id'],{'autoreplyExecuted':!![]})[_0xcfe0('0x36')](function(_0x8aa457){logger['info'](_0xcfe0('0x17'),_0x2ed311,JSON[_0xcfe0('0x39')](_0x8aa457));})[_0xcfe0('0x3a')](function(_0x4e0b97){logger[_0xcfe0('0x3e')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x2ed311,JSON[_0xcfe0('0x39')](_0x4e0b97));});})[_0xcfe0('0x36')](function(){_0x80f187['next']();});});}else{return rpc[this[_0xcfe0('0xe')]+_0xcfe0('0x2a')][_0xcfe0('0x3f')](_0x5d5a2e)[_0xcfe0('0x36')](function(){logger[_0xcfe0('0x11')](_0xcfe0('0x38'),_0x2ed311,_0x5d5a2e[_0xcfe0('0xf')]);})[_0xcfe0('0x3a')](function(_0x2c4b3e){logger['error'](_0xcfe0('0x38'),_0x2ed311,JSON[_0xcfe0('0x39')](_0x2c4b3e));})['finally'](function(){Promise['resolve']()[_0xcfe0('0x36')](function(){if(_0x10c20a[0x0]!=='2'||_0x27eba9[_0xcfe0('0x40')])return;return rpc[_0x536f38+_0xcfe0('0x3c')][_0xcfe0('0x3d')](_0x27eba9['id'],{'autoreplyExecuted':!![]})[_0xcfe0('0x36')](function(_0x21590a){logger[_0xcfe0('0x11')](_0xcfe0('0x17'),_0x2ed311,JSON['stringify'](_0x21590a));})['catch'](function(_0x4fab09){logger[_0xcfe0('0x3e')](_0xcfe0('0x41'),_0x2ed311,JSON[_0xcfe0('0x39')](_0x4fab09));});})[_0xcfe0('0x36')](function(){_0x80f187[_0xcfe0('0x12')]();});});}}}catch(_0x262b7b){logger['error'](_0xcfe0('0x38'),_0x2ed311,JSON['stringify'](_0x262b7b));_0x80f187[_0xcfe0('0x42')]();}};};