Built motion from commit 994c64e1.|2.6.1
[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 _0x6104=['stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','resolve','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','Message','Interaction','lodash','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','interaction','created','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:\x20','ChatWebsiteId','account','upperFirst','InteractionId','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','then'];(function(_0x1c7a92,_0x399611){var _0x138079=function(_0x6b8873){while(--_0x6b8873){_0x1c7a92['push'](_0x1c7a92['shift']());}};_0x138079(++_0x399611);}(_0x6104,0x94));var _0x4610=function(_0x34b9e9,_0x49f64e){_0x34b9e9=_0x34b9e9-0x0;var _0x5e2c4b=_0x6104[_0x34b9e9];return _0x5e2c4b;};'use strict';var _=require(_0x4610('0x0'));var moment=require('moment');var utils=require(_0x4610('0x1'));var logger=require(_0x4610('0x2'))(_0x4610('0x3'));var rpc={'chatMessage':require(_0x4610('0x4')),'openchannelMessage':require(_0x4610('0x5')),'mailMessage':require(_0x4610('0x6')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0x4610('0x7')),'chatInteraction':require(_0x4610('0x8')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require(_0x4610('0x9')),'faxInteraction':require(_0x4610('0xa')),'whatsappInteraction':require(_0x4610('0xb'))};var mailRpc=require(_0x4610('0xc'));exports[_0x4610('0xd')]=function(_0x5664af,_0x586844,_0x21a0a9,_0x522b83){return function(_0x12d8bf){try{var _0x16bd50=this[_0x4610('0xe')];if(_0x16bd50===_0x4610('0xf')&&_0x522b83[_0x4610('0x10')][_0x4610('0x11')]){logger[_0x4610('0x12')]('[%s][AUTOREPLY]\x20%s',_0x5664af,_0x4610('0x13'));return _0x12d8bf[_0x4610('0x14')]();}if(_0x586844[0x0]==='1'&&(_['isNil'](this[_0x4610('0x15')][_0x4610('0x16')])||!this[_0x4610('0x15')]['created'])){logger[_0x4610('0x12')](_0x4610('0x17'),_0x5664af,_0x4610('0x18'));return _0x12d8bf[_0x4610('0x14')]();}if(_0x586844[0x0]==='2'&&this[_0x4610('0x15')][_0x4610('0x19')]){logger[_0x4610('0x12')](_0x4610('0x1a'),_0x5664af,_0x4610('0x1b'));return _0x12d8bf[_0x4610('0x14')]();}var _0x16c9d7={'ContactId':this[_0x4610('0x1c')]['id'],'sentAt':moment()[_0x4610('0x1d')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x4610('0x1e')};if(this['channel']===_0x4610('0xf')){_0x16c9d7['body']=utils[_0x4610('0x1f')](_0x586844[0x2],this);}else{_0x16c9d7[_0x4610('0x10')]=utils[_0x4610('0x1f')](_0x586844[0x1],this);}if(this[_0x4610('0x20')]){_0x16c9d7['to']=this['message'][_0x4610('0x21')]||'';if(this[_0x4610('0xe')]==='mail'&&_0x586844[0x1]==='1'){_0x16c9d7['cc']=this[_0x4610('0x20')]['cc']||'';}_0x16c9d7['from']=this['message']['to']||'';_0x16c9d7[_0x4610('0x22')]=this[_0x4610('0x20')][_0x4610('0x22')]||'';_0x16c9d7[_0x4610('0x23')]=!![];if(this[_0x4610('0x20')][_0x4610('0x24')]){_0x16c9d7['subject']='';_0x16c9d7[_0x4610('0x24')]+=_[_0x4610('0x25')](this[_0x4610('0x20')][_0x4610('0x24')],'Re:')?'':_0x4610('0x26');_0x16c9d7['subject']+=this[_0x4610('0x20')][_0x4610('0x24')];}}if(this[_0x4610('0xe')]==='chat'){_0x16c9d7[_0x4610('0x27')]=this[_0x4610('0x28')]['id'];}else{_0x16c9d7[_[_0x4610('0x29')](this['channel'])+'AccountId']=this[_0x4610('0x28')]['id'];}_0x16c9d7[_[_0x4610('0x29')](this[_0x4610('0xe')])+_0x4610('0x2a')]=this[_0x4610('0x15')]['id'];var _0x4e72b0=this[_0x4610('0x15')];if(rpc[this[_0x4610('0xe')]+'Message']){if(this[_0x4610('0xe')]===_0x4610('0xf')){_0x16c9d7[_0x4610('0x2b')]=this[_0x4610('0x20')]['messageId'];_0x16c9d7[_0x4610('0x2c')]=_0x4610('0x2d')+_[_0x4610('0x2e')](_0x16c9d7['body'],_0x4610('0x2f'),_0x4610('0x30'))+_0x4610('0x31');_0x16c9d7[_0x4610('0x32')]={'Auto-Submitted':_0x4610('0x33'),'X-Auto-Response-Suppress':_0x4610('0x34'),'Precedence':_0x4610('0x35')};return mailRpc[_0x4610('0x36')](this['account'][_0x4610('0x37')],_0x16c9d7)['then'](function(_0xbd35d9){logger[_0x4610('0x12')](_0x4610('0x38'),_0x5664af);_0x16c9d7['messageId']=_0xbd35d9['message']['messageId'];return rpc[_0x16bd50+'Message'][_0x4610('0x39')](_0x16c9d7);})[_0x4610('0x3a')](function(_0x491af7){logger[_0x4610('0x12')](_0x4610('0x17'),_0x5664af,JSON[_0x4610('0x3b')](_0x491af7));})[_0x4610('0x3c')](function(_0x1e1444){logger[_0x4610('0x3d')](_0x4610('0x3e'),_0x5664af,JSON[_0x4610('0x3b')](_0x1e1444));})[_0x4610('0x3f')](function(){Promise[_0x4610('0x40')]()[_0x4610('0x3a')](function(){if(_0x586844[0x0]!=='2'||_0x4e72b0[_0x4610('0x19')])return;return rpc[_0x16bd50+'Interaction'][_0x4610('0x41')](_0x4e72b0['id'],{'autoreplyExecuted':!![]})['then'](function(_0x165bd2){logger[_0x4610('0x12')](_0x4610('0x1a'),_0x5664af,JSON[_0x4610('0x3b')](_0x165bd2));})[_0x4610('0x3c')](function(_0x3426e0){logger[_0x4610('0x3d')](_0x4610('0x42'),_0x5664af,JSON[_0x4610('0x3b')](_0x3426e0));});})[_0x4610('0x3a')](function(){_0x12d8bf[_0x4610('0x14')]();});});}else{return rpc[this['channel']+_0x4610('0x43')][_0x4610('0x39')](_0x16c9d7)[_0x4610('0x3a')](function(){logger[_0x4610('0x12')]('[%s][AUTOREPLY]\x20%s',_0x5664af,_0x16c9d7[_0x4610('0x10')]);})[_0x4610('0x3c')](function(_0x49902e){logger[_0x4610('0x3d')]('[%s][AUTOREPLY]\x20%s',_0x5664af,JSON[_0x4610('0x3b')](_0x49902e));})['finally'](function(){Promise[_0x4610('0x40')]()[_0x4610('0x3a')](function(){if(_0x586844[0x0]!=='2'||_0x4e72b0['autoreplyExecuted'])return;return rpc[_0x16bd50+_0x4610('0x44')][_0x4610('0x41')](_0x4e72b0['id'],{'autoreplyExecuted':!![]})[_0x4610('0x3a')](function(_0x41ee09){logger['info'](_0x4610('0x1a'),_0x5664af,JSON[_0x4610('0x3b')](_0x41ee09));})['catch'](function(_0x3325ec){logger[_0x4610('0x3d')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x5664af,JSON[_0x4610('0x3b')](_0x3325ec));});})[_0x4610('0x3a')](function(){_0x12d8bf[_0x4610('0x14')]();});});}}}catch(_0x32c894){logger[_0x4610('0x3d')](_0x4610('0x17'),_0x5664af,JSON[_0x4610('0x3b')](_0x32c894));_0x12d8bf['stop']();}};};