1203728853276672541ea76fd75388a5d7cc1481
[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 _0xb129=['read','subject','startsWith','Re:','Re:\x20','chat','account','upperFirst','AccountId','InteractionId','Message','Smtp','service','host','port','secure','authentication','user','pass','inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','mail','body','isAutoreply','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','info','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','getMustacheRender','message','phone'];(function(_0x4c5e14,_0x3d62a9){var _0x35d4b6=function(_0x406c92){while(--_0x406c92){_0x4c5e14['push'](_0x4c5e14['shift']());}};_0x35d4b6(++_0x3d62a9);}(_0xb129,0x75));var _0x9b12=function(_0x17de8f,_0x2d5177){_0x17de8f=_0x17de8f-0x0;var _0xc19ec4=_0xb129[_0x17de8f];return _0xc19ec4;};'use strict';var _=require(_0x9b12('0x0'));var moment=require('moment');var utils=require(_0x9b12('0x1'));var logger=require(_0x9b12('0x2'))('routing');var rpc={'chatMessage':require(_0x9b12('0x3')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x9b12('0x4')),'smsMessage':require(_0x9b12('0x5')),'faxMessage':require(_0x9b12('0x6')),'whatsappMessage':require(_0x9b12('0x7')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0x9b12('0x8')),'whatsappInteraction':require(_0x9b12('0x9'))};var mailRpc=require(_0x9b12('0xa'));exports['consequence']=function(_0x553e41,_0x3ffc6f,_0x4f560c,_0x9a746f){return function(_0x4628c2){try{var _0x9676d=this['channel'];if(_0x9676d===_0x9b12('0xb')&&_0x9a746f[_0x9b12('0xc')][_0x9b12('0xd')]){logger['info'](_0x9b12('0xe'),_0x553e41,_0x9b12('0xf'));return _0x4628c2[_0x9b12('0x10')]();}if(_0x3ffc6f[0x0]==='1'&&(_[_0x9b12('0x11')](this[_0x9b12('0x12')][_0x9b12('0x13')])||!this[_0x9b12('0x12')][_0x9b12('0x13')])){logger[_0x9b12('0x14')]('[%s][AUTOREPLY]\x20%s',_0x553e41,_0x9b12('0x15'));return _0x4628c2[_0x9b12('0x10')]();}if(_0x3ffc6f[0x0]==='2'&&this[_0x9b12('0x12')][_0x9b12('0x16')]){logger[_0x9b12('0x14')](_0x9b12('0x17'),_0x553e41,_0x9b12('0x18'));return _0x4628c2['next']();}var _0x188af3={'ContactId':this[_0x9b12('0x19')]['id'],'sentAt':moment()[_0x9b12('0x1a')](_0x9b12('0x1b')),'direction':_0x9b12('0x1c')};if(this[_0x9b12('0x1d')]===_0x9b12('0xb')){_0x188af3[_0x9b12('0xc')]=utils[_0x9b12('0x1e')](_0x3ffc6f[0x2],this);}else{_0x188af3['body']=utils['getMustacheRender'](_0x3ffc6f[0x1],this);}if(this[_0x9b12('0x1f')]){_0x188af3['to']=this[_0x9b12('0x1f')]['from']||'';if(this[_0x9b12('0x1d')]===_0x9b12('0xb')&&_0x3ffc6f[0x1]==='1'){_0x188af3['cc']=this['message']['cc']||'';}_0x188af3['from']=this[_0x9b12('0x1f')]['to']||'';_0x188af3[_0x9b12('0x20')]=this['message'][_0x9b12('0x20')]||'';_0x188af3[_0x9b12('0x21')]=!![];if(this['message']['subject']){_0x188af3[_0x9b12('0x22')]='';_0x188af3[_0x9b12('0x22')]+=_[_0x9b12('0x23')](this[_0x9b12('0x1f')][_0x9b12('0x22')],_0x9b12('0x24'))?'':_0x9b12('0x25');_0x188af3[_0x9b12('0x22')]+=this[_0x9b12('0x1f')]['subject'];}}if(this[_0x9b12('0x1d')]===_0x9b12('0x26')){_0x188af3['ChatWebsiteId']=this[_0x9b12('0x27')]['id'];}else{_0x188af3[_[_0x9b12('0x28')](this['channel'])+_0x9b12('0x29')]=this[_0x9b12('0x27')]['id'];}_0x188af3[_[_0x9b12('0x28')](this[_0x9b12('0x1d')])+_0x9b12('0x2a')]=this[_0x9b12('0x12')]['id'];var _0x95da94=this[_0x9b12('0x12')];if(rpc[this[_0x9b12('0x1d')]+_0x9b12('0x2b')]){if(this[_0x9b12('0x1d')]===_0x9b12('0xb')){var _0x3f4b6f={'tls':{'rejectUnauthorized':![]}};if(this[_0x9b12('0x27')][_0x9b12('0x2c')][_0x9b12('0x2d')]){_0x3f4b6f[_0x9b12('0x2d')]=this[_0x9b12('0x27')]['Smtp'][_0x9b12('0x2d')];}else{_0x3f4b6f['host']=this[_0x9b12('0x27')][_0x9b12('0x2c')][_0x9b12('0x2e')];_0x3f4b6f[_0x9b12('0x2f')]=this[_0x9b12('0x27')][_0x9b12('0x2c')]['port'];_0x3f4b6f[_0x9b12('0x30')]=this[_0x9b12('0x27')][_0x9b12('0x2c')][_0x9b12('0x30')];}if(this[_0x9b12('0x27')][_0x9b12('0x2c')][_0x9b12('0x31')]){_0x3f4b6f['auth']={'user':this['account'][_0x9b12('0x2c')][_0x9b12('0x32')],'pass':this[_0x9b12('0x27')][_0x9b12('0x2c')][_0x9b12('0x33')]};}_0x188af3[_0x9b12('0x34')]=this[_0x9b12('0x1f')][_0x9b12('0x35')];_0x188af3['html']=_0x9b12('0x36')+_[_0x9b12('0x37')](_0x188af3['body'],_0x9b12('0x38'),_0x9b12('0x39'))+_0x9b12('0x3a');_0x188af3[_0x9b12('0x3b')]={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':_0x9b12('0x3c'),'Precedence':_0x9b12('0x3d')};return mailRpc[_0x9b12('0x3e')](_0x3f4b6f,_0x188af3)[_0x9b12('0x3f')](function(_0x232c6){logger['info'](_0x9b12('0x40'),_0x553e41);_0x188af3[_0x9b12('0x35')]=_0x232c6[_0x9b12('0x1f')][_0x9b12('0x35')];return rpc[_0x9676d+_0x9b12('0x2b')][_0x9b12('0x41')](_0x188af3);})[_0x9b12('0x3f')](function(_0x52dcd4){logger['info'](_0x9b12('0xe'),_0x553e41,JSON[_0x9b12('0x42')](_0x52dcd4));})[_0x9b12('0x43')](function(_0x5b800c){logger[_0x9b12('0x44')](_0x9b12('0x45'),_0x553e41,JSON[_0x9b12('0x42')](_0x5b800c));})[_0x9b12('0x46')](function(){Promise['resolve']()[_0x9b12('0x3f')](function(){if(_0x3ffc6f[0x0]!=='2'||_0x95da94[_0x9b12('0x16')])return;return rpc[_0x9676d+_0x9b12('0x47')][_0x9b12('0x48')](_0x95da94['id'],{'autoreplyExecuted':!![]})['then'](function(_0x5e8801){logger[_0x9b12('0x14')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x553e41,JSON[_0x9b12('0x42')](_0x5e8801));})['catch'](function(_0x4fc679){logger[_0x9b12('0x44')](_0x9b12('0x49'),_0x553e41,JSON[_0x9b12('0x42')](_0x4fc679));});})[_0x9b12('0x3f')](function(){_0x4628c2[_0x9b12('0x10')]();});});}else{return rpc[this[_0x9b12('0x1d')]+_0x9b12('0x2b')][_0x9b12('0x41')](_0x188af3)[_0x9b12('0x3f')](function(_0x57b0ac){logger[_0x9b12('0x14')](_0x9b12('0xe'),_0x553e41,_0x188af3['body']);})['catch'](function(_0x402814){logger['error']('[%s][AUTOREPLY]\x20%s',_0x553e41,JSON[_0x9b12('0x42')](_0x402814));})[_0x9b12('0x46')](function(){Promise['resolve']()['then'](function(){if(_0x3ffc6f[0x0]!=='2'||_0x95da94[_0x9b12('0x16')])return;return rpc[_0x9676d+_0x9b12('0x47')][_0x9b12('0x48')](_0x95da94['id'],{'autoreplyExecuted':!![]})[_0x9b12('0x3f')](function(_0x21f891){logger['info'](_0x9b12('0x17'),_0x553e41,JSON[_0x9b12('0x42')](_0x21f891));})[_0x9b12('0x43')](function(_0x54a010){logger[_0x9b12('0x44')](_0x9b12('0x49'),_0x553e41,JSON[_0x9b12('0x42')](_0x54a010));});})[_0x9b12('0x3f')](function(){_0x4628c2[_0x9b12('0x10')]();});});}}}catch(_0x22ed11){logger[_0x9b12('0x44')](_0x9b12('0xe'),_0x553e41,JSON['stringify'](_0x22ed11));_0x4628c2[_0x9b12('0x4a')]();}};};