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