Built motion from commit 43538d75.|2.5.35
[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 _0xdd7e=['<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','then','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','resolve','Interaction','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','update','stop','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../mailRpc','channel','mail','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','interaction','created','next','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','body','getMustacheRender','message','from','phone','read','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','Message','Smtp','service','host','port','secure','authentication','auth','user','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22'];(function(_0x29e801,_0x251732){var _0x35b9e6=function(_0x2f5cfa){while(--_0x2f5cfa){_0x29e801['push'](_0x29e801['shift']());}};_0x35b9e6(++_0x251732);}(_0xdd7e,0xfe));var _0xedd7=function(_0x5c3d42,_0xf2a84c){_0x5c3d42=_0x5c3d42-0x0;var _0xd478b3=_0xdd7e[_0x5c3d42];return _0xd478b3;};'use strict';var _=require(_0xedd7('0x0'));var moment=require(_0xedd7('0x1'));var utils=require(_0xedd7('0x2'));var logger=require(_0xedd7('0x3'))(_0xedd7('0x4'));var rpc={'chatMessage':require(_0xedd7('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0xedd7('0x6')),'smsMessage':require(_0xedd7('0x7')),'faxMessage':require(_0xedd7('0x8')),'whatsappMessage':require(_0xedd7('0x9')),'chatInteraction':require(_0xedd7('0xa')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require(_0xedd7('0xb')),'faxInteraction':require(_0xedd7('0xc')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require(_0xedd7('0xd'));exports['consequence']=function(_0x569e2b,_0x37276c,_0x4c261e,_0x3c3c5e){return function(_0x4c8c62){try{var _0x3f0809=this[_0xedd7('0xe')];if(_0x3f0809===_0xedd7('0xf')&&_0x3c3c5e['body']['isAutoreply']){logger[_0xedd7('0x10')](_0xedd7('0x11'),_0x569e2b,_0xedd7('0x12'));return _0x4c8c62['next']();}if(_0x37276c[0x0]==='1'&&(_[_0xedd7('0x13')](this[_0xedd7('0x14')][_0xedd7('0x15')])||!this[_0xedd7('0x14')][_0xedd7('0x15')])){logger[_0xedd7('0x10')](_0xedd7('0x11'),_0x569e2b,'Autoreply\x20already\x20sent');return _0x4c8c62[_0xedd7('0x16')]();}if(_0x37276c[0x0]==='2'&&this[_0xedd7('0x14')][_0xedd7('0x17')]){logger['info'](_0xedd7('0x18'),_0x569e2b,'One\x20Time\x20already\x20sent');return _0x4c8c62[_0xedd7('0x16')]();}var _0x13a14d={'ContactId':this[_0xedd7('0x19')]['id'],'sentAt':moment()[_0xedd7('0x1a')](_0xedd7('0x1b')),'direction':_0xedd7('0x1c')};if(this[_0xedd7('0xe')]===_0xedd7('0xf')){_0x13a14d[_0xedd7('0x1d')]=utils['getMustacheRender'](_0x37276c[0x2],this);}else{_0x13a14d[_0xedd7('0x1d')]=utils[_0xedd7('0x1e')](_0x37276c[0x1],this);}if(this[_0xedd7('0x1f')]){_0x13a14d['to']=this['message'][_0xedd7('0x20')]||'';if(this[_0xedd7('0xe')]===_0xedd7('0xf')&&_0x37276c[0x1]==='1'){_0x13a14d['cc']=this[_0xedd7('0x1f')]['cc']||'';}_0x13a14d[_0xedd7('0x20')]=this[_0xedd7('0x1f')]['to']||'';_0x13a14d[_0xedd7('0x21')]=this[_0xedd7('0x1f')][_0xedd7('0x21')]||'';_0x13a14d[_0xedd7('0x22')]=!![];if(this[_0xedd7('0x1f')][_0xedd7('0x23')]){_0x13a14d[_0xedd7('0x23')]='';_0x13a14d[_0xedd7('0x23')]+=_[_0xedd7('0x24')](this[_0xedd7('0x1f')][_0xedd7('0x23')],'Re:')?'':_0xedd7('0x25');_0x13a14d[_0xedd7('0x23')]+=this[_0xedd7('0x1f')]['subject'];}}if(this['channel']===_0xedd7('0x26')){_0x13a14d[_0xedd7('0x27')]=this[_0xedd7('0x28')]['id'];}else{_0x13a14d[_[_0xedd7('0x29')](this[_0xedd7('0xe')])+_0xedd7('0x2a')]=this['account']['id'];}_0x13a14d[_[_0xedd7('0x29')](this[_0xedd7('0xe')])+'InteractionId']=this['interaction']['id'];var _0x118e3d=this['interaction'];if(rpc[this['channel']+_0xedd7('0x2b')]){if(this[_0xedd7('0xe')]===_0xedd7('0xf')){var _0x56a4be={'tls':{'rejectUnauthorized':![]}};if(this[_0xedd7('0x28')][_0xedd7('0x2c')][_0xedd7('0x2d')]){_0x56a4be[_0xedd7('0x2d')]=this['account']['Smtp'][_0xedd7('0x2d')];}else{_0x56a4be[_0xedd7('0x2e')]=this[_0xedd7('0x28')]['Smtp']['host'];_0x56a4be[_0xedd7('0x2f')]=this['account'][_0xedd7('0x2c')]['port'];_0x56a4be[_0xedd7('0x30')]=this[_0xedd7('0x28')][_0xedd7('0x2c')][_0xedd7('0x30')];}if(this[_0xedd7('0x28')][_0xedd7('0x2c')][_0xedd7('0x31')]){_0x56a4be[_0xedd7('0x32')]={'user':this[_0xedd7('0x28')][_0xedd7('0x2c')][_0xedd7('0x33')],'pass':this[_0xedd7('0x28')]['Smtp']['pass']};}_0x13a14d[_0xedd7('0x34')]=this[_0xedd7('0x1f')][_0xedd7('0x35')];_0x13a14d[_0xedd7('0x36')]=_0xedd7('0x37')+_[_0xedd7('0x38')](_0x13a14d[_0xedd7('0x1d')],_0xedd7('0x39'),_0xedd7('0x3a'))+_0xedd7('0x3b');_0x13a14d[_0xedd7('0x3c')]={'Auto-Submitted':_0xedd7('0x3d'),'X-Auto-Response-Suppress':_0xedd7('0x3e'),'Precedence':_0xedd7('0x3f')};return mailRpc[_0xedd7('0x40')](_0x56a4be,_0x13a14d)['then'](function(_0x5cd7a3){logger[_0xedd7('0x10')](_0xedd7('0x41'),_0x569e2b);_0x13a14d['messageId']=_0x5cd7a3[_0xedd7('0x1f')][_0xedd7('0x35')];return rpc[_0x3f0809+_0xedd7('0x2b')][_0xedd7('0x42')](_0x13a14d);})[_0xedd7('0x43')](function(_0x1896e5){logger['info'](_0xedd7('0x11'),_0x569e2b,JSON[_0xedd7('0x44')](_0x1896e5));})[_0xedd7('0x45')](function(_0x94a71f){logger[_0xedd7('0x46')](_0xedd7('0x47'),_0x569e2b,JSON[_0xedd7('0x44')](_0x94a71f));})['finally'](function(){Promise[_0xedd7('0x48')]()[_0xedd7('0x43')](function(){if(_0x37276c[0x0]!=='2'||_0x118e3d[_0xedd7('0x17')])return;return rpc[_0x3f0809+_0xedd7('0x49')]['update'](_0x118e3d['id'],{'autoreplyExecuted':!![]})[_0xedd7('0x43')](function(_0x814e2d){logger[_0xedd7('0x10')](_0xedd7('0x18'),_0x569e2b,JSON[_0xedd7('0x44')](_0x814e2d));})[_0xedd7('0x45')](function(_0x42f9fe){logger['error'](_0xedd7('0x4a'),_0x569e2b,JSON[_0xedd7('0x44')](_0x42f9fe));});})[_0xedd7('0x43')](function(){_0x4c8c62[_0xedd7('0x16')]();});});}else{return rpc[this[_0xedd7('0xe')]+'Message'][_0xedd7('0x42')](_0x13a14d)[_0xedd7('0x43')](function(_0x41a9d9){logger[_0xedd7('0x10')]('[%s][AUTOREPLY]\x20%s',_0x569e2b,_0x13a14d['body']);})[_0xedd7('0x45')](function(_0x716515){logger['error'](_0xedd7('0x11'),_0x569e2b,JSON[_0xedd7('0x44')](_0x716515));})[_0xedd7('0x4b')](function(){Promise[_0xedd7('0x48')]()['then'](function(){if(_0x37276c[0x0]!=='2'||_0x118e3d['autoreplyExecuted'])return;return rpc[_0x3f0809+'Interaction'][_0xedd7('0x4c')](_0x118e3d['id'],{'autoreplyExecuted':!![]})[_0xedd7('0x43')](function(_0xa42f5a){logger['info'](_0xedd7('0x18'),_0x569e2b,JSON[_0xedd7('0x44')](_0xa42f5a));})[_0xedd7('0x45')](function(_0x581def){logger[_0xedd7('0x46')](_0xedd7('0x4a'),_0x569e2b,JSON[_0xedd7('0x44')](_0x581def));});})[_0xedd7('0x43')](function(){_0x4c8c62[_0xedd7('0x16')]();});});}}}catch(_0x22bab8){logger[_0xedd7('0x46')]('[%s][AUTOREPLY]\x20%s',_0x569e2b,JSON['stringify'](_0x22bab8));_0x4c8c62[_0xedd7('0x4d')]();}};};