3d2436e57ac02d201991a865e4d894f6056d0d00
[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 _0x68a9=['interaction','created','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','next','channel','getMustacheRender','contact','format','out','message','from','phone','subject','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','mail','Smtp','service','host','port','secure','authentication','pass','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','body','<div\x20id=\x22xm-mail-content\x22','</div>','auto-replied','sendMailMessage','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','then','stringify','finally','error','stop','lodash','moment','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../mailRpc','consequence'];(function(_0x42dcbd,_0x256452){var _0x4c258d=function(_0x2cca1b){while(--_0x2cca1b){_0x42dcbd['push'](_0x42dcbd['shift']());}};_0x4c258d(++_0x256452);}(_0x68a9,0x1d4));var _0x968a=function(_0x2f5ac5,_0x1ee939){_0x2f5ac5=_0x2f5ac5-0x0;var _0x37c9a8=_0x68a9[_0x2f5ac5];return _0x37c9a8;};'use strict';var _=require(_0x968a('0x0'));var moment=require(_0x968a('0x1'));var utils=require('./utils');var logger=require(_0x968a('0x2'))(_0x968a('0x3'));var rpc={'chatMessage':require(_0x968a('0x4')),'openchannelMessage':require(_0x968a('0x5')),'mailMessage':require(_0x968a('0x6')),'smsMessage':require(_0x968a('0x7')),'faxMessage':require(_0x968a('0x8')),'whatsappMessage':require(_0x968a('0x9'))};var mailRpc=require(_0x968a('0xa'));exports[_0x968a('0xb')]=function(_0x447560,_0x41df22){return function(_0x547e8a){try{if(_0x41df22[0x0]==='1'&&(_['isNil'](this[_0x968a('0xc')]['created'])||!this[_0x968a('0xc')][_0x968a('0xd')])){logger[_0x968a('0xe')](_0x968a('0xf'),_0x447560,_0x968a('0x10'));return _0x547e8a[_0x968a('0x11')]();}var _0x327293=this[_0x968a('0x12')];var _0x32db26={'body':utils[_0x968a('0x13')](_0x41df22[0x1],this),'ContactId':this[_0x968a('0x14')]['id'],'sentAt':moment()[_0x968a('0x15')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x968a('0x16')};if(this[_0x968a('0x17')]){_0x32db26['to']=this[_0x968a('0x17')][_0x968a('0x18')]||'';_0x32db26['cc']=this[_0x968a('0x17')]['cc']||'';_0x32db26[_0x968a('0x18')]=this['message']['to']||'';_0x32db26['phone']=this['message'][_0x968a('0x19')]||'';_0x32db26['read']=!![];if(this[_0x968a('0x17')][_0x968a('0x1a')]){_0x32db26[_0x968a('0x1a')]='';_0x32db26[_0x968a('0x1a')]+=_['startsWith'](this['message']['subject'],'Re:')?'':_0x968a('0x1b');_0x32db26['subject']+=this[_0x968a('0x17')][_0x968a('0x1a')];}}if(this[_0x968a('0x12')]===_0x968a('0x1c')){_0x32db26[_0x968a('0x1d')]=this[_0x968a('0x1e')]['id'];}else{_0x32db26[_[_0x968a('0x1f')](this[_0x968a('0x12')])+_0x968a('0x20')]=this[_0x968a('0x1e')]['id'];}_0x32db26[_[_0x968a('0x1f')](this[_0x968a('0x12')])+_0x968a('0x21')]=this['interaction']['id'];if(rpc[this[_0x968a('0x12')]+_0x968a('0x22')]){if(this[_0x968a('0x12')]===_0x968a('0x23')){var _0x515ebc={'tls':{'rejectUnauthorized':![]}};if(this[_0x968a('0x1e')][_0x968a('0x24')][_0x968a('0x25')]){_0x515ebc[_0x968a('0x25')]=this[_0x968a('0x1e')][_0x968a('0x24')][_0x968a('0x25')];}else{_0x515ebc[_0x968a('0x26')]=this['account'][_0x968a('0x24')][_0x968a('0x26')];_0x515ebc[_0x968a('0x27')]=this[_0x968a('0x1e')][_0x968a('0x24')][_0x968a('0x27')];_0x515ebc[_0x968a('0x28')]=this[_0x968a('0x1e')]['Smtp'][_0x968a('0x28')];}if(this[_0x968a('0x1e')][_0x968a('0x24')][_0x968a('0x29')]){_0x515ebc['auth']={'user':this[_0x968a('0x1e')][_0x968a('0x24')]['user'],'pass':this[_0x968a('0x1e')]['Smtp'][_0x968a('0x2a')]};}_0x32db26[_0x968a('0x2b')]=this[_0x968a('0x17')][_0x968a('0x2c')];_0x32db26[_0x968a('0x2d')]=_0x968a('0x2e')+_[_0x968a('0x2f')](_0x32db26[_0x968a('0x30')],_0x968a('0x31'),'<div')+_0x968a('0x32');_0x32db26['headers']={'Auto-Submitted':_0x968a('0x33'),'X-Auto-Response-Suppress':'All','Precedence':'auto_reply'};return mailRpc[_0x968a('0x34')](_0x515ebc,_0x32db26)['then'](function(_0x1bd0d8){logger[_0x968a('0xe')](_0x968a('0x35'),_0x447560);_0x32db26[_0x968a('0x2c')]=_0x1bd0d8[_0x968a('0x17')][_0x968a('0x2c')];return rpc[_0x327293+_0x968a('0x22')][_0x968a('0x36')](_0x32db26);})[_0x968a('0x37')](function(_0x4e5d89){logger[_0x968a('0xe')](_0x968a('0xf'),_0x447560,JSON[_0x968a('0x38')](_0x4e5d89));})['catch'](function(_0x3d250f){logger['error']('[RPC][%s][AUTOREPLY]\x20%s',_0x447560,JSON['stringify'](_0x3d250f));})[_0x968a('0x39')](function(){_0x547e8a[_0x968a('0x11')]();});}else{return rpc[this[_0x968a('0x12')]+'Message'][_0x968a('0x36')](_0x32db26)[_0x968a('0x37')](function(_0x1c00e1){logger[_0x968a('0xe')](_0x968a('0xf'),_0x447560,_0x32db26[_0x968a('0x30')]);})['catch'](function(_0x590ce2){logger[_0x968a('0x3a')](_0x968a('0xf'),_0x447560,JSON[_0x968a('0x38')](_0x590ce2));})[_0x968a('0x39')](function(){_0x547e8a['next']();});}}}catch(_0x30152e){logger[_0x968a('0x3a')]('[%s][AUTOREPLY]\x20%s',_0x447560,JSON[_0x968a('0x38')](_0x30152e));_0x547e8a[_0x968a('0x3b')]();}};};