Built motion from commit (unavailable).|2.5.27
[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 _0xb3a9=['getMustacheRender','message','from','phone','read','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','interaction','Smtp','service','host','port','auth','user','pass','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','Message','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','[%s][AUTOREPLY]\x20%s','stop','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','../../mailRpc','consequence','isNil','created','info','Autoreply\x20already\x20sent','next','channel','contact','format','mail','body'];(function(_0x2bedeb,_0x10baea){var _0x2f2643=function(_0x4cdeeb){while(--_0x4cdeeb){_0x2bedeb['push'](_0x2bedeb['shift']());}};_0x2f2643(++_0x10baea);}(_0xb3a9,0xa2));var _0x9b3a=function(_0x4683f9,_0x4ebc6c){_0x4683f9=_0x4683f9-0x0;var _0x3435ba=_0xb3a9[_0x4683f9];return _0x3435ba;};'use strict';var _=require(_0x9b3a('0x0'));var moment=require(_0x9b3a('0x1'));var utils=require(_0x9b3a('0x2'));var logger=require(_0x9b3a('0x3'))(_0x9b3a('0x4'));var rpc={'chatMessage':require(_0x9b3a('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x9b3a('0x6')),'smsMessage':require(_0x9b3a('0x7')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0x9b3a('0x8'))};var mailRpc=require(_0x9b3a('0x9'));exports[_0x9b3a('0xa')]=function(_0x2f6367,_0x8faa65){return function(_0x83835b){try{if(_0x8faa65[0x0]==='1'&&(_[_0x9b3a('0xb')](this['interaction'][_0x9b3a('0xc')])||!this['interaction'][_0x9b3a('0xc')])){logger[_0x9b3a('0xd')]('[%s][AUTOREPLY]\x20%s',_0x2f6367,_0x9b3a('0xe'));return _0x83835b[_0x9b3a('0xf')]();}var _0x1b5b92=this[_0x9b3a('0x10')];var _0x1d8066={'ContactId':this[_0x9b3a('0x11')]['id'],'sentAt':moment()[_0x9b3a('0x12')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':'out'};if(this[_0x9b3a('0x10')]===_0x9b3a('0x13')){_0x1d8066[_0x9b3a('0x14')]=utils[_0x9b3a('0x15')](_0x8faa65[0x2],this);}else{_0x1d8066[_0x9b3a('0x14')]=utils['getMustacheRender'](_0x8faa65[0x1],this);}if(this[_0x9b3a('0x16')]){_0x1d8066['to']=this[_0x9b3a('0x16')][_0x9b3a('0x17')]||'';if(this[_0x9b3a('0x10')]==='mail'&&_0x8faa65[0x1]==='1'){_0x1d8066['cc']=this[_0x9b3a('0x16')]['cc']||'';}_0x1d8066[_0x9b3a('0x17')]=this[_0x9b3a('0x16')]['to']||'';_0x1d8066['phone']=this[_0x9b3a('0x16')][_0x9b3a('0x18')]||'';_0x1d8066[_0x9b3a('0x19')]=!![];if(this[_0x9b3a('0x16')][_0x9b3a('0x1a')]){_0x1d8066[_0x9b3a('0x1a')]='';_0x1d8066[_0x9b3a('0x1a')]+=_[_0x9b3a('0x1b')](this[_0x9b3a('0x16')][_0x9b3a('0x1a')],'Re:')?'':_0x9b3a('0x1c');_0x1d8066[_0x9b3a('0x1a')]+=this[_0x9b3a('0x16')]['subject'];}}if(this[_0x9b3a('0x10')]===_0x9b3a('0x1d')){_0x1d8066[_0x9b3a('0x1e')]=this[_0x9b3a('0x1f')]['id'];}else{_0x1d8066[_[_0x9b3a('0x20')](this[_0x9b3a('0x10')])+_0x9b3a('0x21')]=this['account']['id'];}_0x1d8066[_[_0x9b3a('0x20')](this['channel'])+'InteractionId']=this[_0x9b3a('0x22')]['id'];if(rpc[this[_0x9b3a('0x10')]+'Message']){if(this[_0x9b3a('0x10')]==='mail'){var _0xa8ed22={'tls':{'rejectUnauthorized':![]}};if(this[_0x9b3a('0x1f')][_0x9b3a('0x23')]['service']){_0xa8ed22[_0x9b3a('0x24')]=this[_0x9b3a('0x1f')][_0x9b3a('0x23')][_0x9b3a('0x24')];}else{_0xa8ed22[_0x9b3a('0x25')]=this[_0x9b3a('0x1f')][_0x9b3a('0x23')][_0x9b3a('0x25')];_0xa8ed22[_0x9b3a('0x26')]=this[_0x9b3a('0x1f')][_0x9b3a('0x23')]['port'];_0xa8ed22['secure']=this[_0x9b3a('0x1f')][_0x9b3a('0x23')]['secure'];}if(this['account'][_0x9b3a('0x23')]['authentication']){_0xa8ed22[_0x9b3a('0x27')]={'user':this[_0x9b3a('0x1f')]['Smtp'][_0x9b3a('0x28')],'pass':this['account'][_0x9b3a('0x23')][_0x9b3a('0x29')]};}_0x1d8066[_0x9b3a('0x2a')]=this[_0x9b3a('0x16')][_0x9b3a('0x2b')];_0x1d8066[_0x9b3a('0x2c')]='<div\x20id=\x22xm-mail-content\x22>'+_['replace'](_0x1d8066[_0x9b3a('0x14')],_0x9b3a('0x2d'),_0x9b3a('0x2e'))+_0x9b3a('0x2f');_0x1d8066[_0x9b3a('0x30')]={'Auto-Submitted':_0x9b3a('0x31'),'X-Auto-Response-Suppress':'All','Precedence':'auto_reply'};return mailRpc['sendMailMessage'](_0xa8ed22,_0x1d8066)[_0x9b3a('0x32')](function(_0x5e7a61){logger[_0x9b3a('0xd')](_0x9b3a('0x33'),_0x2f6367);_0x1d8066[_0x9b3a('0x2b')]=_0x5e7a61[_0x9b3a('0x16')]['messageId'];return rpc[_0x1b5b92+_0x9b3a('0x34')][_0x9b3a('0x35')](_0x1d8066);})['then'](function(_0x3a52f9){logger[_0x9b3a('0xd')]('[%s][AUTOREPLY]\x20%s',_0x2f6367,JSON[_0x9b3a('0x36')](_0x3a52f9));})[_0x9b3a('0x37')](function(_0x92ab42){logger[_0x9b3a('0x38')](_0x9b3a('0x39'),_0x2f6367,JSON[_0x9b3a('0x36')](_0x92ab42));})[_0x9b3a('0x3a')](function(){_0x83835b[_0x9b3a('0xf')]();});}else{return rpc[this['channel']+_0x9b3a('0x34')]['create'](_0x1d8066)[_0x9b3a('0x32')](function(_0x21b699){logger[_0x9b3a('0xd')](_0x9b3a('0x3b'),_0x2f6367,_0x1d8066[_0x9b3a('0x14')]);})[_0x9b3a('0x37')](function(_0x2c9b0e){logger[_0x9b3a('0x38')]('[%s][AUTOREPLY]\x20%s',_0x2f6367,JSON['stringify'](_0x2c9b0e));})[_0x9b3a('0x3a')](function(){_0x83835b[_0x9b3a('0xf')]();});}}}catch(_0x52ce65){logger[_0x9b3a('0x38')](_0x9b3a('0x3b'),_0x2f6367,JSON['stringify'](_0x52ce65));_0x83835b[_0x9b3a('0x3c')]();}};};