b0b5b400bcab47b93de23b7879f5ea954a2bb18a
[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 _0xf88c=['secure','authentication','auth','user','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','auto-replied','All','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','resolve','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','stop','moment','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','next','isNil','interaction','created','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','format','YYYY-MM-DD\x20HH:mm:ss','getMustacheRender','message','from','channel','phone','subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','Smtp','service','host','port'];(function(_0xf97eb0,_0x1578b7){var _0xea70f4=function(_0x574c8d){while(--_0x574c8d){_0xf97eb0['push'](_0xf97eb0['shift']());}};_0xea70f4(++_0x1578b7);}(_0xf88c,0x66));var _0xcf88=function(_0x1f491a,_0x4c0839){_0x1f491a=_0x1f491a-0x0;var _0x547588=_0xf88c[_0x1f491a];return _0x547588;};'use strict';var _=require('lodash');var moment=require(_0xcf88('0x0'));var utils=require('./utils');var logger=require(_0xcf88('0x1'))(_0xcf88('0x2'));var rpc={'chatMessage':require(_0xcf88('0x3')),'openchannelMessage':require(_0xcf88('0x4')),'mailMessage':require(_0xcf88('0x5')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xcf88('0x6')),'whatsappMessage':require(_0xcf88('0x7')),'chatInteraction':require(_0xcf88('0x8')),'openchannelInteraction':require(_0xcf88('0x9')),'mailInteraction':require(_0xcf88('0xa')),'smsInteraction':require(_0xcf88('0xb')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require(_0xcf88('0xc'))};var mailRpc=require(_0xcf88('0xd'));exports[_0xcf88('0xe')]=function(_0x5be255,_0x596856,_0xf45cd0,_0xaa3992){return function(_0x21c46a){try{var _0x37134d=this['channel'];if(_0x37134d===_0xcf88('0xf')&&_0xaa3992[_0xcf88('0x10')][_0xcf88('0x11')]){logger[_0xcf88('0x12')](_0xcf88('0x13'),_0x5be255,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x21c46a[_0xcf88('0x14')]();}if(_0x596856[0x0]==='1'&&(_[_0xcf88('0x15')](this[_0xcf88('0x16')][_0xcf88('0x17')])||!this[_0xcf88('0x16')][_0xcf88('0x17')])){logger['info'](_0xcf88('0x13'),_0x5be255,_0xcf88('0x18'));return _0x21c46a[_0xcf88('0x14')]();}if(_0x596856[0x0]==='2'&&this['interaction'][_0xcf88('0x19')]){logger[_0xcf88('0x12')](_0xcf88('0x1a'),_0x5be255,_0xcf88('0x1b'));return _0x21c46a['next']();}var _0xb24a51={'ContactId':this['contact']['id'],'sentAt':moment()[_0xcf88('0x1c')](_0xcf88('0x1d')),'direction':'out'};if(this['channel']===_0xcf88('0xf')){_0xb24a51[_0xcf88('0x10')]=utils[_0xcf88('0x1e')](_0x596856[0x2],this);}else{_0xb24a51[_0xcf88('0x10')]=utils[_0xcf88('0x1e')](_0x596856[0x1],this);}if(this[_0xcf88('0x1f')]){_0xb24a51['to']=this['message'][_0xcf88('0x20')]||'';if(this[_0xcf88('0x21')]===_0xcf88('0xf')&&_0x596856[0x1]==='1'){_0xb24a51['cc']=this[_0xcf88('0x1f')]['cc']||'';}_0xb24a51[_0xcf88('0x20')]=this[_0xcf88('0x1f')]['to']||'';_0xb24a51[_0xcf88('0x22')]=this[_0xcf88('0x1f')]['phone']||'';_0xb24a51['read']=!![];if(this['message'][_0xcf88('0x23')]){_0xb24a51['subject']='';_0xb24a51[_0xcf88('0x23')]+=_[_0xcf88('0x24')](this[_0xcf88('0x1f')]['subject'],_0xcf88('0x25'))?'':_0xcf88('0x26');_0xb24a51['subject']+=this[_0xcf88('0x1f')][_0xcf88('0x23')];}}if(this[_0xcf88('0x21')]===_0xcf88('0x27')){_0xb24a51[_0xcf88('0x28')]=this[_0xcf88('0x29')]['id'];}else{_0xb24a51[_[_0xcf88('0x2a')](this[_0xcf88('0x21')])+_0xcf88('0x2b')]=this['account']['id'];}_0xb24a51[_[_0xcf88('0x2a')](this['channel'])+_0xcf88('0x2c')]=this[_0xcf88('0x16')]['id'];var _0x1fe9d0=this[_0xcf88('0x16')];if(rpc[this[_0xcf88('0x21')]+_0xcf88('0x2d')]){if(this[_0xcf88('0x21')]==='mail'){var _0x5dc93f={'tls':{'rejectUnauthorized':![]}};if(this[_0xcf88('0x29')][_0xcf88('0x2e')]['service']){_0x5dc93f[_0xcf88('0x2f')]=this[_0xcf88('0x29')][_0xcf88('0x2e')][_0xcf88('0x2f')];}else{_0x5dc93f[_0xcf88('0x30')]=this[_0xcf88('0x29')]['Smtp'][_0xcf88('0x30')];_0x5dc93f[_0xcf88('0x31')]=this[_0xcf88('0x29')][_0xcf88('0x2e')][_0xcf88('0x31')];_0x5dc93f[_0xcf88('0x32')]=this['account']['Smtp'][_0xcf88('0x32')];}if(this[_0xcf88('0x29')][_0xcf88('0x2e')][_0xcf88('0x33')]){_0x5dc93f[_0xcf88('0x34')]={'user':this[_0xcf88('0x29')]['Smtp'][_0xcf88('0x35')],'pass':this[_0xcf88('0x29')][_0xcf88('0x2e')]['pass']};}_0xb24a51['inReplyTo']=this[_0xcf88('0x1f')][_0xcf88('0x36')];_0xb24a51[_0xcf88('0x37')]=_0xcf88('0x38')+_[_0xcf88('0x39')](_0xb24a51[_0xcf88('0x10')],_0xcf88('0x3a'),_0xcf88('0x3b'))+_0xcf88('0x3c');_0xb24a51['headers']={'Auto-Submitted':_0xcf88('0x3d'),'X-Auto-Response-Suppress':_0xcf88('0x3e'),'Precedence':'auto_reply'};return mailRpc[_0xcf88('0x3f')](_0x5dc93f,_0xb24a51)[_0xcf88('0x40')](function(_0x15c0e8){logger[_0xcf88('0x12')](_0xcf88('0x41'),_0x5be255);_0xb24a51[_0xcf88('0x36')]=_0x15c0e8[_0xcf88('0x1f')][_0xcf88('0x36')];return rpc[_0x37134d+_0xcf88('0x2d')][_0xcf88('0x42')](_0xb24a51);})[_0xcf88('0x40')](function(_0x475828){logger[_0xcf88('0x12')](_0xcf88('0x13'),_0x5be255,JSON[_0xcf88('0x43')](_0x475828));})[_0xcf88('0x44')](function(_0xa9c4e7){logger[_0xcf88('0x45')]('[RPC][%s][AUTOREPLY]\x20%s',_0x5be255,JSON[_0xcf88('0x43')](_0xa9c4e7));})['finally'](function(){Promise[_0xcf88('0x46')]()[_0xcf88('0x40')](function(){if(_0x596856[0x0]!=='2'||_0x1fe9d0[_0xcf88('0x19')])return;return rpc[_0x37134d+_0xcf88('0x47')][_0xcf88('0x48')](_0x1fe9d0['id'],{'autoreplyExecuted':!![]})[_0xcf88('0x40')](function(_0xb2849b){logger['info']('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x5be255,JSON[_0xcf88('0x43')](_0xb2849b));})['catch'](function(_0x1b2a31){logger[_0xcf88('0x45')](_0xcf88('0x49'),_0x5be255,JSON[_0xcf88('0x43')](_0x1b2a31));});})[_0xcf88('0x40')](function(){_0x21c46a[_0xcf88('0x14')]();});});}else{return rpc[this['channel']+'Message']['create'](_0xb24a51)[_0xcf88('0x40')](function(_0x41ddfb){logger[_0xcf88('0x12')](_0xcf88('0x13'),_0x5be255,_0xb24a51[_0xcf88('0x10')]);})[_0xcf88('0x44')](function(_0x51dff6){logger[_0xcf88('0x45')](_0xcf88('0x13'),_0x5be255,JSON['stringify'](_0x51dff6));})[_0xcf88('0x4a')](function(){Promise[_0xcf88('0x46')]()[_0xcf88('0x40')](function(){if(_0x596856[0x0]!=='2'||_0x1fe9d0[_0xcf88('0x19')])return;return rpc[_0x37134d+_0xcf88('0x47')]['update'](_0x1fe9d0['id'],{'autoreplyExecuted':!![]})[_0xcf88('0x40')](function(_0x4e5ca5){logger[_0xcf88('0x12')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x5be255,JSON[_0xcf88('0x43')](_0x4e5ca5));})[_0xcf88('0x44')](function(_0x3f1e2d){logger[_0xcf88('0x45')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x5be255,JSON['stringify'](_0x3f1e2d));});})['then'](function(){_0x21c46a[_0xcf88('0x14')]();});});}}}catch(_0x243c29){logger[_0xcf88('0x45')](_0xcf88('0x13'),_0x5be255,JSON[_0xcf88('0x43')](_0x243c29));_0x21c46a[_0xcf88('0x4b')]();}};};