21641eb971a8178c9bf0c44c62c8099c556f7ee9
[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 _0xdca4=['consequence','mail','body','isAutoreply','info','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','interaction','created','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','next','autoreplyExecuted','contact','YYYY-MM-DD\x20HH:mm:ss','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','Re:\x20','channel','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','<div\x20id=\x22xm-mail-content\x22>','replace','<div','</div>','auto-replied','All','auto_reply','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','catch','error','[RPC][%s][AUTOREPLY]\x20%s','stringify','resolve','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','moment','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','../../mailRpc'];(function(_0x3635ce,_0x33a6f9){var _0x97ecd0=function(_0x123d98){while(--_0x123d98){_0x3635ce['push'](_0x3635ce['shift']());}};_0x97ecd0(++_0x33a6f9);}(_0xdca4,0x19a));var _0x4dca=function(_0x239a9f,_0x4a97b6){_0x239a9f=_0x239a9f-0x0;var _0x360549=_0xdca4[_0x239a9f];return _0x360549;};'use strict';var _=require(_0x4dca('0x0'));var moment=require(_0x4dca('0x1'));var utils=require(_0x4dca('0x2'));var logger=require('../../../../config/logger')(_0x4dca('0x3'));var rpc={'chatMessage':require(_0x4dca('0x4')),'openchannelMessage':require(_0x4dca('0x5')),'mailMessage':require(_0x4dca('0x6')),'smsMessage':require(_0x4dca('0x7')),'faxMessage':require(_0x4dca('0x8')),'whatsappMessage':require(_0x4dca('0x9')),'chatInteraction':require(_0x4dca('0xa')),'openchannelInteraction':require(_0x4dca('0xb')),'mailInteraction':require(_0x4dca('0xc')),'smsInteraction':require(_0x4dca('0xd')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require(_0x4dca('0xe'))};var mailRpc=require(_0x4dca('0xf'));exports[_0x4dca('0x10')]=function(_0x18da1b,_0x2ab1ad,_0x5545a0,_0x397241){return function(_0xf1a354){try{var _0xbc6917=this['channel'];if(_0xbc6917===_0x4dca('0x11')&&_0x397241[_0x4dca('0x12')][_0x4dca('0x13')]){logger[_0x4dca('0x14')]('[%s][AUTOREPLY]\x20%s',_0x18da1b,_0x4dca('0x15'));return _0xf1a354['next']();}if(_0x2ab1ad[0x0]==='1'&&(_[_0x4dca('0x16')](this[_0x4dca('0x17')][_0x4dca('0x18')])||!this[_0x4dca('0x17')][_0x4dca('0x18')])){logger[_0x4dca('0x14')](_0x4dca('0x19'),_0x18da1b,_0x4dca('0x1a'));return _0xf1a354[_0x4dca('0x1b')]();}if(_0x2ab1ad[0x0]==='2'&&this[_0x4dca('0x17')][_0x4dca('0x1c')]){logger[_0x4dca('0x14')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x18da1b,'One\x20Time\x20already\x20sent');return _0xf1a354['next']();}var _0x42f231={'ContactId':this[_0x4dca('0x1d')]['id'],'sentAt':moment()['format'](_0x4dca('0x1e')),'direction':'out'};if(this['channel']===_0x4dca('0x11')){_0x42f231[_0x4dca('0x12')]=utils[_0x4dca('0x1f')](_0x2ab1ad[0x2],this);}else{_0x42f231[_0x4dca('0x12')]=utils[_0x4dca('0x1f')](_0x2ab1ad[0x1],this);}if(this['message']){_0x42f231['to']=this[_0x4dca('0x20')][_0x4dca('0x21')]||'';if(this['channel']==='mail'&&_0x2ab1ad[0x1]==='1'){_0x42f231['cc']=this['message']['cc']||'';}_0x42f231['from']=this[_0x4dca('0x20')]['to']||'';_0x42f231[_0x4dca('0x22')]=this[_0x4dca('0x20')][_0x4dca('0x22')]||'';_0x42f231[_0x4dca('0x23')]=!![];if(this[_0x4dca('0x20')]['subject']){_0x42f231[_0x4dca('0x24')]='';_0x42f231[_0x4dca('0x24')]+=_[_0x4dca('0x25')](this['message'][_0x4dca('0x24')],_0x4dca('0x26'))?'':_0x4dca('0x27');_0x42f231[_0x4dca('0x24')]+=this['message'][_0x4dca('0x24')];}}if(this[_0x4dca('0x28')]===_0x4dca('0x29')){_0x42f231[_0x4dca('0x2a')]=this[_0x4dca('0x2b')]['id'];}else{_0x42f231[_[_0x4dca('0x2c')](this[_0x4dca('0x28')])+_0x4dca('0x2d')]=this['account']['id'];}_0x42f231[_[_0x4dca('0x2c')](this[_0x4dca('0x28')])+_0x4dca('0x2e')]=this[_0x4dca('0x17')]['id'];var _0x372a38=this['interaction'];if(rpc[this[_0x4dca('0x28')]+_0x4dca('0x2f')]){if(this[_0x4dca('0x28')]===_0x4dca('0x11')){_0x42f231['inReplyTo']=this[_0x4dca('0x20')]['messageId'];_0x42f231['html']=_0x4dca('0x30')+_[_0x4dca('0x31')](_0x42f231[_0x4dca('0x12')],'<div\x20id=\x22xm-mail-content\x22',_0x4dca('0x32'))+_0x4dca('0x33');_0x42f231['headers']={'Auto-Submitted':_0x4dca('0x34'),'X-Auto-Response-Suppress':_0x4dca('0x35'),'Precedence':_0x4dca('0x36')};return mailRpc['sendMailMessage'](this[_0x4dca('0x2b')][_0x4dca('0x37')],_0x42f231)[_0x4dca('0x38')](function(_0x1f3857){logger[_0x4dca('0x14')](_0x4dca('0x39'),_0x18da1b);_0x42f231[_0x4dca('0x3a')]=_0x1f3857[_0x4dca('0x20')]['messageId'];return rpc[_0xbc6917+_0x4dca('0x2f')][_0x4dca('0x3b')](_0x42f231);})['then'](function(_0x573af1){logger[_0x4dca('0x14')](_0x4dca('0x19'),_0x18da1b,JSON['stringify'](_0x573af1));})[_0x4dca('0x3c')](function(_0x1462f0){logger[_0x4dca('0x3d')](_0x4dca('0x3e'),_0x18da1b,JSON[_0x4dca('0x3f')](_0x1462f0));})['finally'](function(){Promise[_0x4dca('0x40')]()[_0x4dca('0x38')](function(){if(_0x2ab1ad[0x0]!=='2'||_0x372a38[_0x4dca('0x1c')])return;return rpc[_0xbc6917+_0x4dca('0x41')][_0x4dca('0x42')](_0x372a38['id'],{'autoreplyExecuted':!![]})[_0x4dca('0x38')](function(_0x5639dc){logger[_0x4dca('0x14')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x18da1b,JSON[_0x4dca('0x3f')](_0x5639dc));})['catch'](function(_0x5563fb){logger['error'](_0x4dca('0x43'),_0x18da1b,JSON[_0x4dca('0x3f')](_0x5563fb));});})[_0x4dca('0x38')](function(){_0xf1a354[_0x4dca('0x1b')]();});});}else{return rpc[this[_0x4dca('0x28')]+_0x4dca('0x2f')][_0x4dca('0x3b')](_0x42f231)[_0x4dca('0x38')](function(){logger[_0x4dca('0x14')](_0x4dca('0x19'),_0x18da1b,_0x42f231[_0x4dca('0x12')]);})[_0x4dca('0x3c')](function(_0xa8952e){logger[_0x4dca('0x3d')]('[%s][AUTOREPLY]\x20%s',_0x18da1b,JSON[_0x4dca('0x3f')](_0xa8952e));})[_0x4dca('0x44')](function(){Promise[_0x4dca('0x40')]()[_0x4dca('0x38')](function(){if(_0x2ab1ad[0x0]!=='2'||_0x372a38[_0x4dca('0x1c')])return;return rpc[_0xbc6917+_0x4dca('0x41')][_0x4dca('0x42')](_0x372a38['id'],{'autoreplyExecuted':!![]})[_0x4dca('0x38')](function(_0x1a5bec){logger[_0x4dca('0x14')](_0x4dca('0x45'),_0x18da1b,JSON[_0x4dca('0x3f')](_0x1a5bec));})['catch'](function(_0x108474){logger[_0x4dca('0x3d')](_0x4dca('0x43'),_0x18da1b,JSON[_0x4dca('0x3f')](_0x108474));});})['then'](function(){_0xf1a354[_0x4dca('0x1b')]();});});}}}catch(_0x598b52){logger[_0x4dca('0x3d')]('[%s][AUTOREPLY]\x20%s',_0x18da1b,JSON[_0x4dca('0x3f')](_0x598b52));_0xf1a354[_0x4dca('0x46')]();}};};