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