Built motion from commit 9d7072cc.|2.5.39
[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 _0x4dec=['account','Message','Smtp','service','host','port','secure','authentication','auth','user','html','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','auto_reply','sendMailMessage','then','messageId','catch','error','[RPC][%s][AUTOREPLY]\x20%s','resolve','Interaction','stringify','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','create','finally','update','moment','../../../../config/logger','routing','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','interaction','created','Autoreply\x20already\x20sent','next','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','chat','ChatWebsiteId','upperFirst','AccountId'];(function(_0x346656,_0x3bf81b){var _0x18e36d=function(_0x5eab43){while(--_0x5eab43){_0x346656['push'](_0x346656['shift']());}};_0x18e36d(++_0x3bf81b);}(_0x4dec,0xad));var _0xc4de=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x4dec[_0x14add3];return _0x4a174f;};'use strict';var _=require('lodash');var moment=require(_0xc4de('0x0'));var utils=require('./utils');var logger=require(_0xc4de('0x1'))(_0xc4de('0x2'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0xc4de('0x3')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0xc4de('0x4')),'faxMessage':require(_0xc4de('0x5')),'whatsappMessage':require(_0xc4de('0x6')),'chatInteraction':require(_0xc4de('0x7')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0xc4de('0x8')),'smsInteraction':require(_0xc4de('0x9')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require(_0xc4de('0xa'));exports[_0xc4de('0xb')]=function(_0x3100c7,_0x22e2e6,_0x4d11f8,_0x1195e9){return function(_0xd0eba9){try{var _0x2fdb60=this[_0xc4de('0xc')];if(_0x2fdb60===_0xc4de('0xd')&&_0x1195e9[_0xc4de('0xe')][_0xc4de('0xf')]){logger[_0xc4de('0x10')](_0xc4de('0x11'),_0x3100c7,_0xc4de('0x12'));return _0xd0eba9['next']();}if(_0x22e2e6[0x0]==='1'&&(_[_0xc4de('0x13')](this[_0xc4de('0x14')][_0xc4de('0x15')])||!this[_0xc4de('0x14')][_0xc4de('0x15')])){logger['info']('[%s][AUTOREPLY]\x20%s',_0x3100c7,_0xc4de('0x16'));return _0xd0eba9[_0xc4de('0x17')]();}if(_0x22e2e6[0x0]==='2'&&this[_0xc4de('0x14')][_0xc4de('0x18')]){logger['info'](_0xc4de('0x19'),_0x3100c7,_0xc4de('0x1a'));return _0xd0eba9['next']();}var _0x5ce3ab={'ContactId':this[_0xc4de('0x1b')]['id'],'sentAt':moment()[_0xc4de('0x1c')](_0xc4de('0x1d')),'direction':_0xc4de('0x1e')};if(this[_0xc4de('0xc')]===_0xc4de('0xd')){_0x5ce3ab[_0xc4de('0xe')]=utils[_0xc4de('0x1f')](_0x22e2e6[0x2],this);}else{_0x5ce3ab[_0xc4de('0xe')]=utils['getMustacheRender'](_0x22e2e6[0x1],this);}if(this[_0xc4de('0x20')]){_0x5ce3ab['to']=this[_0xc4de('0x20')][_0xc4de('0x21')]||'';if(this[_0xc4de('0xc')]==='mail'&&_0x22e2e6[0x1]==='1'){_0x5ce3ab['cc']=this[_0xc4de('0x20')]['cc']||'';}_0x5ce3ab['from']=this[_0xc4de('0x20')]['to']||'';_0x5ce3ab[_0xc4de('0x22')]=this['message'][_0xc4de('0x22')]||'';_0x5ce3ab[_0xc4de('0x23')]=!![];if(this[_0xc4de('0x20')]['subject']){_0x5ce3ab[_0xc4de('0x24')]='';_0x5ce3ab[_0xc4de('0x24')]+=_[_0xc4de('0x25')](this[_0xc4de('0x20')]['subject'],_0xc4de('0x26'))?'':'Re:\x20';_0x5ce3ab[_0xc4de('0x24')]+=this[_0xc4de('0x20')][_0xc4de('0x24')];}}if(this[_0xc4de('0xc')]===_0xc4de('0x27')){_0x5ce3ab[_0xc4de('0x28')]=this['account']['id'];}else{_0x5ce3ab[_[_0xc4de('0x29')](this[_0xc4de('0xc')])+_0xc4de('0x2a')]=this[_0xc4de('0x2b')]['id'];}_0x5ce3ab[_[_0xc4de('0x29')](this[_0xc4de('0xc')])+'InteractionId']=this[_0xc4de('0x14')]['id'];var _0x1a6b41=this['interaction'];if(rpc[this[_0xc4de('0xc')]+_0xc4de('0x2c')]){if(this[_0xc4de('0xc')]==='mail'){var _0x5cb708={'tls':{'rejectUnauthorized':![]}};if(this[_0xc4de('0x2b')][_0xc4de('0x2d')][_0xc4de('0x2e')]){_0x5cb708[_0xc4de('0x2e')]=this['account'][_0xc4de('0x2d')][_0xc4de('0x2e')];}else{_0x5cb708['host']=this[_0xc4de('0x2b')][_0xc4de('0x2d')][_0xc4de('0x2f')];_0x5cb708[_0xc4de('0x30')]=this[_0xc4de('0x2b')]['Smtp'][_0xc4de('0x30')];_0x5cb708['secure']=this[_0xc4de('0x2b')]['Smtp'][_0xc4de('0x31')];}if(this[_0xc4de('0x2b')][_0xc4de('0x2d')][_0xc4de('0x32')]){_0x5cb708[_0xc4de('0x33')]={'user':this['account']['Smtp'][_0xc4de('0x34')],'pass':this[_0xc4de('0x2b')][_0xc4de('0x2d')]['pass']};}_0x5ce3ab['inReplyTo']=this[_0xc4de('0x20')]['messageId'];_0x5ce3ab[_0xc4de('0x35')]='<div\x20id=\x22xm-mail-content\x22>'+_[_0xc4de('0x36')](_0x5ce3ab['body'],_0xc4de('0x37'),_0xc4de('0x38'))+_0xc4de('0x39');_0x5ce3ab['headers']={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':'All','Precedence':_0xc4de('0x3a')};return mailRpc[_0xc4de('0x3b')](_0x5cb708,_0x5ce3ab)[_0xc4de('0x3c')](function(_0x455546){logger[_0xc4de('0x10')]('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x3100c7);_0x5ce3ab[_0xc4de('0x3d')]=_0x455546[_0xc4de('0x20')]['messageId'];return rpc[_0x2fdb60+_0xc4de('0x2c')]['create'](_0x5ce3ab);})['then'](function(_0x8657bd){logger[_0xc4de('0x10')](_0xc4de('0x11'),_0x3100c7,JSON['stringify'](_0x8657bd));})[_0xc4de('0x3e')](function(_0x5d8d4c){logger[_0xc4de('0x3f')](_0xc4de('0x40'),_0x3100c7,JSON['stringify'](_0x5d8d4c));})['finally'](function(){Promise[_0xc4de('0x41')]()[_0xc4de('0x3c')](function(){if(_0x22e2e6[0x0]!=='2'||_0x1a6b41[_0xc4de('0x18')])return;return rpc[_0x2fdb60+_0xc4de('0x42')]['update'](_0x1a6b41['id'],{'autoreplyExecuted':!![]})[_0xc4de('0x3c')](function(_0x1c91ea){logger['info'](_0xc4de('0x19'),_0x3100c7,JSON[_0xc4de('0x43')](_0x1c91ea));})[_0xc4de('0x3e')](function(_0x5c093c){logger[_0xc4de('0x3f')](_0xc4de('0x44'),_0x3100c7,JSON[_0xc4de('0x43')](_0x5c093c));});})[_0xc4de('0x3c')](function(){_0xd0eba9[_0xc4de('0x17')]();});});}else{return rpc[this[_0xc4de('0xc')]+_0xc4de('0x2c')][_0xc4de('0x45')](_0x5ce3ab)[_0xc4de('0x3c')](function(_0x36123d){logger[_0xc4de('0x10')](_0xc4de('0x11'),_0x3100c7,_0x5ce3ab[_0xc4de('0xe')]);})[_0xc4de('0x3e')](function(_0x2c5d57){logger[_0xc4de('0x3f')](_0xc4de('0x11'),_0x3100c7,JSON[_0xc4de('0x43')](_0x2c5d57));})[_0xc4de('0x46')](function(){Promise[_0xc4de('0x41')]()[_0xc4de('0x3c')](function(){if(_0x22e2e6[0x0]!=='2'||_0x1a6b41[_0xc4de('0x18')])return;return rpc[_0x2fdb60+'Interaction'][_0xc4de('0x47')](_0x1a6b41['id'],{'autoreplyExecuted':!![]})[_0xc4de('0x3c')](function(_0x2abdc8){logger[_0xc4de('0x10')](_0xc4de('0x19'),_0x3100c7,JSON[_0xc4de('0x43')](_0x2abdc8));})['catch'](function(_0x16dcb8){logger[_0xc4de('0x3f')](_0xc4de('0x44'),_0x3100c7,JSON[_0xc4de('0x43')](_0x16dcb8));});})[_0xc4de('0x3c')](function(){_0xd0eba9[_0xc4de('0x17')]();});});}}}catch(_0x199253){logger['error'](_0xc4de('0x11'),_0x3100c7,JSON[_0xc4de('0x43')](_0x199253));_0xd0eba9['stop']();}};};