Built motion from commit da24aabd.|2.6.20
[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 _0x4717=['messageId','html','<div\x20id=\x22xm-mail-content\x22>','<div\x20id=\x22xm-mail-content\x22','<div','headers','auto-replied','auto_reply','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','Message','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','resolve','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','Interaction','stop','moment','./utils','routing','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','mail','body','isAutoreply','info','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','[%s][AUTOREPLY]\x20%s','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','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','inReplyTo'];(function(_0x161477,_0x1c1347){var _0x5c17ea=function(_0x5d5978){while(--_0x5d5978){_0x161477['push'](_0x161477['shift']());}};_0x5c17ea(++_0x1c1347);}(_0x4717,0xa7));var _0x7471=function(_0x13b02f,_0x462a53){_0x13b02f=_0x13b02f-0x0;var _0x12e9a6=_0x4717[_0x13b02f];return _0x12e9a6;};'use strict';var _=require('lodash');var moment=require(_0x7471('0x0'));var utils=require(_0x7471('0x1'));var logger=require('../../../../config/logger')(_0x7471('0x2'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0x7471('0x3')),'mailMessage':require(_0x7471('0x4')),'smsMessage':require(_0x7471('0x5')),'faxMessage':require(_0x7471('0x6')),'whatsappMessage':require(_0x7471('0x7')),'chatInteraction':require(_0x7471('0x8')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x7471('0x9')),'smsInteraction':require(_0x7471('0xa')),'faxInteraction':require(_0x7471('0xb')),'whatsappInteraction':require(_0x7471('0xc'))};var mailRpc=require(_0x7471('0xd'));exports['consequence']=function(_0x254352,_0x671192,_0x1f42d6,_0x5d2d40){return function(_0x5a43ac){try{var _0x426cfa=this['channel'];if(_0x426cfa===_0x7471('0xe')&&_0x5d2d40[_0x7471('0xf')][_0x7471('0x10')]){logger[_0x7471('0x11')]('[%s][AUTOREPLY]\x20%s',_0x254352,_0x7471('0x12'));return _0x5a43ac[_0x7471('0x13')]();}if(_0x671192[0x0]==='1'&&(_[_0x7471('0x14')](this[_0x7471('0x15')][_0x7471('0x16')])||!this[_0x7471('0x15')]['created'])){logger['info'](_0x7471('0x17'),_0x254352,_0x7471('0x18'));return _0x5a43ac[_0x7471('0x13')]();}if(_0x671192[0x0]==='2'&&this[_0x7471('0x15')][_0x7471('0x19')]){logger[_0x7471('0x11')](_0x7471('0x1a'),_0x254352,_0x7471('0x1b'));return _0x5a43ac[_0x7471('0x13')]();}var _0xd63e85={'ContactId':this[_0x7471('0x1c')]['id'],'sentAt':moment()[_0x7471('0x1d')](_0x7471('0x1e')),'direction':_0x7471('0x1f')};if(this[_0x7471('0x20')]===_0x7471('0xe')){_0xd63e85[_0x7471('0xf')]=utils[_0x7471('0x21')](_0x671192[0x2],this);}else{_0xd63e85[_0x7471('0xf')]=utils[_0x7471('0x21')](_0x671192[0x1],this);}if(this['message']){_0xd63e85['to']=this[_0x7471('0x22')]['from']||'';if(this['channel']===_0x7471('0xe')&&_0x671192[0x1]==='1'){_0xd63e85['cc']=this[_0x7471('0x22')]['cc']||'';}_0xd63e85[_0x7471('0x23')]=this[_0x7471('0x22')]['to']||'';_0xd63e85['phone']=this[_0x7471('0x22')][_0x7471('0x24')]||'';_0xd63e85[_0x7471('0x25')]=!![];if(this['message'][_0x7471('0x26')]){_0xd63e85[_0x7471('0x26')]='';_0xd63e85[_0x7471('0x26')]+=_[_0x7471('0x27')](this[_0x7471('0x22')][_0x7471('0x26')],_0x7471('0x28'))?'':_0x7471('0x29');_0xd63e85['subject']+=this['message']['subject'];}}if(this[_0x7471('0x20')]===_0x7471('0x2a')){_0xd63e85[_0x7471('0x2b')]=this[_0x7471('0x2c')]['id'];}else{_0xd63e85[_[_0x7471('0x2d')](this[_0x7471('0x20')])+_0x7471('0x2e')]=this[_0x7471('0x2c')]['id'];}_0xd63e85[_[_0x7471('0x2d')](this[_0x7471('0x20')])+_0x7471('0x2f')]=this[_0x7471('0x15')]['id'];var _0x467f93=this[_0x7471('0x15')];if(rpc[this[_0x7471('0x20')]+'Message']){if(this['channel']===_0x7471('0xe')){_0xd63e85[_0x7471('0x30')]=this['message'][_0x7471('0x31')];_0xd63e85[_0x7471('0x32')]=_0x7471('0x33')+_['replace'](_0xd63e85[_0x7471('0xf')],_0x7471('0x34'),_0x7471('0x35'))+'</div>';_0xd63e85[_0x7471('0x36')]={'Auto-Submitted':_0x7471('0x37'),'X-Auto-Response-Suppress':'All','Precedence':_0x7471('0x38')};return mailRpc['sendMailMessage'](this['account'][_0x7471('0x39')],_0xd63e85)[_0x7471('0x3a')](function(_0x3f606e){logger[_0x7471('0x11')](_0x7471('0x3b'),_0x254352);_0xd63e85[_0x7471('0x31')]=_0x3f606e[_0x7471('0x22')][_0x7471('0x31')];return rpc[_0x426cfa+_0x7471('0x3c')][_0x7471('0x3d')](_0xd63e85);})[_0x7471('0x3a')](function(_0x3480e9){logger[_0x7471('0x11')](_0x7471('0x17'),_0x254352,JSON[_0x7471('0x3e')](_0x3480e9));})[_0x7471('0x3f')](function(_0x58d1e2){logger[_0x7471('0x40')](_0x7471('0x41'),_0x254352,JSON[_0x7471('0x3e')](_0x58d1e2));})['finally'](function(){Promise[_0x7471('0x42')]()['then'](function(){if(_0x671192[0x0]!=='2'||_0x467f93[_0x7471('0x19')])return;return rpc[_0x426cfa+'Interaction'][_0x7471('0x43')](_0x467f93['id'],{'autoreplyExecuted':!![]})[_0x7471('0x3a')](function(_0xb433b5){logger[_0x7471('0x11')](_0x7471('0x1a'),_0x254352,JSON[_0x7471('0x3e')](_0xb433b5));})['catch'](function(_0x328218){logger[_0x7471('0x40')](_0x7471('0x44'),_0x254352,JSON['stringify'](_0x328218));});})['then'](function(){_0x5a43ac[_0x7471('0x13')]();});});}else{return rpc[this[_0x7471('0x20')]+_0x7471('0x3c')][_0x7471('0x3d')](_0xd63e85)[_0x7471('0x3a')](function(){logger[_0x7471('0x11')]('[%s][AUTOREPLY]\x20%s',_0x254352,_0xd63e85['body']);})[_0x7471('0x3f')](function(_0x27d16d){logger[_0x7471('0x40')](_0x7471('0x17'),_0x254352,JSON[_0x7471('0x3e')](_0x27d16d));})[_0x7471('0x45')](function(){Promise['resolve']()[_0x7471('0x3a')](function(){if(_0x671192[0x0]!=='2'||_0x467f93['autoreplyExecuted'])return;return rpc[_0x426cfa+_0x7471('0x46')]['update'](_0x467f93['id'],{'autoreplyExecuted':!![]})[_0x7471('0x3a')](function(_0x3308b8){logger[_0x7471('0x11')](_0x7471('0x1a'),_0x254352,JSON[_0x7471('0x3e')](_0x3308b8));})[_0x7471('0x3f')](function(_0x3b3324){logger[_0x7471('0x40')](_0x7471('0x44'),_0x254352,JSON[_0x7471('0x3e')](_0x3b3324));});})['then'](function(){_0x5a43ac[_0x7471('0x13')]();});});}}}catch(_0x216c35){logger['error'](_0x7471('0x17'),_0x254352,JSON['stringify'](_0x216c35));_0x5a43ac[_0x7471('0x47')]();}};};