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