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