3536536661dd06bb7b1e6e1771b4e6b9c6cbbe6d
[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 _0x4d5a=['consequence','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','next','isNil','interaction','created','Autoreply\x20already\x20sent','autoreplyExecuted','contact','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','read','subject','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','then','Message','create','stringify','error','finally','resolve','Interaction','update','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','catch','stop','lodash','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction'];(function(_0xae312f,_0x312c5d){var _0xdba92=function(_0x1d83bb){while(--_0x1d83bb){_0xae312f['push'](_0xae312f['shift']());}};_0xdba92(++_0x312c5d);}(_0x4d5a,0x146));var _0xa4d5=function(_0x110c3d,_0x12ee06){_0x110c3d=_0x110c3d-0x0;var _0x226d67=_0x4d5a[_0x110c3d];return _0x226d67;};'use strict';var _=require(_0xa4d5('0x0'));var moment=require('moment');var utils=require(_0xa4d5('0x1'));var logger=require(_0xa4d5('0x2'))(_0xa4d5('0x3'));var rpc={'chatMessage':require(_0xa4d5('0x4')),'openchannelMessage':require(_0xa4d5('0x5')),'mailMessage':require(_0xa4d5('0x6')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xa4d5('0x7')),'whatsappMessage':require(_0xa4d5('0x8')),'chatInteraction':require(_0xa4d5('0x9')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0xa4d5('0xa')),'smsInteraction':require(_0xa4d5('0xb')),'faxInteraction':require(_0xa4d5('0xc')),'whatsappInteraction':require(_0xa4d5('0xd'))};var mailRpc=require('../../mailRpc');exports[_0xa4d5('0xe')]=function(_0x27b633,_0x46b282,_0x1dd885,_0xb75969){return function(_0x136b6d){try{var _0x25a971=this[_0xa4d5('0xf')];if(_0x25a971===_0xa4d5('0x10')&&_0xb75969[_0xa4d5('0x11')][_0xa4d5('0x12')]){logger[_0xa4d5('0x13')](_0xa4d5('0x14'),_0x27b633,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x136b6d[_0xa4d5('0x15')]();}if(_0x46b282[0x0]==='1'&&(_[_0xa4d5('0x16')](this[_0xa4d5('0x17')][_0xa4d5('0x18')])||!this[_0xa4d5('0x17')]['created'])){logger[_0xa4d5('0x13')](_0xa4d5('0x14'),_0x27b633,_0xa4d5('0x19'));return _0x136b6d[_0xa4d5('0x15')]();}if(_0x46b282[0x0]==='2'&&this[_0xa4d5('0x17')][_0xa4d5('0x1a')]){logger[_0xa4d5('0x13')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x27b633,'One\x20Time\x20already\x20sent');return _0x136b6d[_0xa4d5('0x15')]();}var _0x514adb={'ContactId':this[_0xa4d5('0x1b')]['id'],'sentAt':moment()['format'](_0xa4d5('0x1c')),'direction':_0xa4d5('0x1d')};if(this[_0xa4d5('0xf')]===_0xa4d5('0x10')){_0x514adb[_0xa4d5('0x11')]=utils['getMustacheRender'](_0x46b282[0x2],this);}else{_0x514adb[_0xa4d5('0x11')]=utils[_0xa4d5('0x1e')](_0x46b282[0x1],this);}if(this[_0xa4d5('0x1f')]){_0x514adb['to']=this[_0xa4d5('0x1f')]['from']||'';if(this[_0xa4d5('0xf')]===_0xa4d5('0x10')&&_0x46b282[0x1]==='1'){_0x514adb['cc']=this[_0xa4d5('0x1f')]['cc']||'';}_0x514adb[_0xa4d5('0x20')]=this[_0xa4d5('0x1f')]['to']||'';_0x514adb['phone']=this[_0xa4d5('0x1f')][_0xa4d5('0x21')]||'';_0x514adb[_0xa4d5('0x22')]=!![];if(this['message']['subject']){_0x514adb[_0xa4d5('0x23')]='';_0x514adb['subject']+=_['startsWith'](this[_0xa4d5('0x1f')][_0xa4d5('0x23')],'Re:')?'':_0xa4d5('0x24');_0x514adb['subject']+=this[_0xa4d5('0x1f')][_0xa4d5('0x23')];}}if(this[_0xa4d5('0xf')]===_0xa4d5('0x25')){_0x514adb[_0xa4d5('0x26')]=this[_0xa4d5('0x27')]['id'];}else{_0x514adb[_[_0xa4d5('0x28')](this[_0xa4d5('0xf')])+_0xa4d5('0x29')]=this[_0xa4d5('0x27')]['id'];}_0x514adb[_[_0xa4d5('0x28')](this[_0xa4d5('0xf')])+_0xa4d5('0x2a')]=this[_0xa4d5('0x17')]['id'];var _0x2b971b=this[_0xa4d5('0x17')];if(rpc[this['channel']+'Message']){if(this[_0xa4d5('0xf')]==='mail'){_0x514adb[_0xa4d5('0x2b')]=this['message'][_0xa4d5('0x2c')];_0x514adb['html']=_0xa4d5('0x2d')+_[_0xa4d5('0x2e')](_0x514adb['body'],_0xa4d5('0x2f'),_0xa4d5('0x30'))+_0xa4d5('0x31');_0x514adb[_0xa4d5('0x32')]={'Auto-Submitted':_0xa4d5('0x33'),'X-Auto-Response-Suppress':_0xa4d5('0x34'),'Precedence':_0xa4d5('0x35')};return mailRpc[_0xa4d5('0x36')](this[_0xa4d5('0x27')][_0xa4d5('0x37')],_0x514adb)[_0xa4d5('0x38')](function(_0x50ddf6){logger[_0xa4d5('0x13')]('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x27b633);_0x514adb[_0xa4d5('0x2c')]=_0x50ddf6['message'][_0xa4d5('0x2c')];return rpc[_0x25a971+_0xa4d5('0x39')][_0xa4d5('0x3a')](_0x514adb);})[_0xa4d5('0x38')](function(_0x12f207){logger['info'](_0xa4d5('0x14'),_0x27b633,JSON[_0xa4d5('0x3b')](_0x12f207));})['catch'](function(_0x21ab5f){logger[_0xa4d5('0x3c')]('[RPC][%s][AUTOREPLY]\x20%s',_0x27b633,JSON[_0xa4d5('0x3b')](_0x21ab5f));})[_0xa4d5('0x3d')](function(){Promise[_0xa4d5('0x3e')]()[_0xa4d5('0x38')](function(){if(_0x46b282[0x0]!=='2'||_0x2b971b[_0xa4d5('0x1a')])return;return rpc[_0x25a971+_0xa4d5('0x3f')][_0xa4d5('0x40')](_0x2b971b['id'],{'autoreplyExecuted':!![]})[_0xa4d5('0x38')](function(_0x42d200){logger['info'](_0xa4d5('0x41'),_0x27b633,JSON['stringify'](_0x42d200));})[_0xa4d5('0x42')](function(_0x57ff3b){logger[_0xa4d5('0x3c')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x27b633,JSON[_0xa4d5('0x3b')](_0x57ff3b));});})[_0xa4d5('0x38')](function(){_0x136b6d[_0xa4d5('0x15')]();});});}else{return rpc[this['channel']+_0xa4d5('0x39')][_0xa4d5('0x3a')](_0x514adb)['then'](function(){logger[_0xa4d5('0x13')](_0xa4d5('0x14'),_0x27b633,_0x514adb[_0xa4d5('0x11')]);})[_0xa4d5('0x42')](function(_0x289334){logger[_0xa4d5('0x3c')](_0xa4d5('0x14'),_0x27b633,JSON[_0xa4d5('0x3b')](_0x289334));})[_0xa4d5('0x3d')](function(){Promise[_0xa4d5('0x3e')]()[_0xa4d5('0x38')](function(){if(_0x46b282[0x0]!=='2'||_0x2b971b[_0xa4d5('0x1a')])return;return rpc[_0x25a971+_0xa4d5('0x3f')][_0xa4d5('0x40')](_0x2b971b['id'],{'autoreplyExecuted':!![]})[_0xa4d5('0x38')](function(_0x54f580){logger[_0xa4d5('0x13')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x27b633,JSON['stringify'](_0x54f580));})[_0xa4d5('0x42')](function(_0x376a89){logger[_0xa4d5('0x3c')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x27b633,JSON[_0xa4d5('0x3b')](_0x376a89));});})[_0xa4d5('0x38')](function(){_0x136b6d[_0xa4d5('0x15')]();});});}}}catch(_0xe434ca){logger['error']('[%s][AUTOREPLY]\x20%s',_0x27b633,JSON['stringify'](_0xe434ca));_0x136b6d[_0xa4d5('0x43')]();}};};