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