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