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