Built motion from commit 753c950e.|2.5.42
[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 _0x9df3=['../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/chatInteraction','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','interaction','created','autoreplyExecuted','contact','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','account','AccountId','InteractionId','Message','Smtp','service','host','port','secure','authentication','auth','user','pass','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','stringify','catch','error','finally','resolve','Interaction','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage'];(function(_0xa464c9,_0x7c86d8){var _0x3d73c4=function(_0x5c2056){while(--_0x5c2056){_0xa464c9['push'](_0xa464c9['shift']());}};_0x3d73c4(++_0x7c86d8);}(_0x9df3,0xe8));var _0x39df=function(_0x42f009,_0x5e27b1){_0x42f009=_0x42f009-0x0;var _0x22a1e0=_0x9df3[_0x42f009];return _0x22a1e0;};'use strict';var _=require('lodash');var moment=require('moment');var utils=require(_0x39df('0x0'));var logger=require(_0x39df('0x1'))('routing');var rpc={'chatMessage':require(_0x39df('0x2')),'openchannelMessage':require(_0x39df('0x3')),'mailMessage':require(_0x39df('0x4')),'smsMessage':require(_0x39df('0x5')),'faxMessage':require(_0x39df('0x6')),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require(_0x39df('0x7')),'openchannelInteraction':require(_0x39df('0x8')),'mailInteraction':require(_0x39df('0x9')),'smsInteraction':require(_0x39df('0xa')),'faxInteraction':require(_0x39df('0xb')),'whatsappInteraction':require(_0x39df('0xc'))};var mailRpc=require(_0x39df('0xd'));exports[_0x39df('0xe')]=function(_0x1a3ee7,_0x519503,_0x43c11f,_0x2df082){return function(_0x37172c){try{var _0x43d055=this[_0x39df('0xf')];if(_0x43d055===_0x39df('0x10')&&_0x2df082[_0x39df('0x11')][_0x39df('0x12')]){logger[_0x39df('0x13')](_0x39df('0x14'),_0x1a3ee7,_0x39df('0x15'));return _0x37172c[_0x39df('0x16')]();}if(_0x519503[0x0]==='1'&&(_['isNil'](this[_0x39df('0x17')][_0x39df('0x18')])||!this[_0x39df('0x17')][_0x39df('0x18')])){logger[_0x39df('0x13')]('[%s][AUTOREPLY]\x20%s',_0x1a3ee7,'Autoreply\x20already\x20sent');return _0x37172c[_0x39df('0x16')]();}if(_0x519503[0x0]==='2'&&this['interaction'][_0x39df('0x19')]){logger[_0x39df('0x13')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x1a3ee7,'One\x20Time\x20already\x20sent');return _0x37172c[_0x39df('0x16')]();}var _0x26fb95={'ContactId':this[_0x39df('0x1a')]['id'],'sentAt':moment()['format'](_0x39df('0x1b')),'direction':_0x39df('0x1c')};if(this['channel']===_0x39df('0x10')){_0x26fb95[_0x39df('0x11')]=utils[_0x39df('0x1d')](_0x519503[0x2],this);}else{_0x26fb95['body']=utils[_0x39df('0x1d')](_0x519503[0x1],this);}if(this[_0x39df('0x1e')]){_0x26fb95['to']=this[_0x39df('0x1e')][_0x39df('0x1f')]||'';if(this[_0x39df('0xf')]===_0x39df('0x10')&&_0x519503[0x1]==='1'){_0x26fb95['cc']=this[_0x39df('0x1e')]['cc']||'';}_0x26fb95[_0x39df('0x1f')]=this[_0x39df('0x1e')]['to']||'';_0x26fb95[_0x39df('0x20')]=this[_0x39df('0x1e')][_0x39df('0x20')]||'';_0x26fb95[_0x39df('0x21')]=!![];if(this['message'][_0x39df('0x22')]){_0x26fb95[_0x39df('0x22')]='';_0x26fb95['subject']+=_[_0x39df('0x23')](this['message'][_0x39df('0x22')],_0x39df('0x24'))?'':_0x39df('0x25');_0x26fb95[_0x39df('0x22')]+=this[_0x39df('0x1e')][_0x39df('0x22')];}}if(this[_0x39df('0xf')]===_0x39df('0x26')){_0x26fb95[_0x39df('0x27')]=this[_0x39df('0x28')]['id'];}else{_0x26fb95[_['upperFirst'](this[_0x39df('0xf')])+_0x39df('0x29')]=this['account']['id'];}_0x26fb95[_['upperFirst'](this[_0x39df('0xf')])+_0x39df('0x2a')]=this[_0x39df('0x17')]['id'];var _0x536606=this[_0x39df('0x17')];if(rpc[this['channel']+_0x39df('0x2b')]){if(this[_0x39df('0xf')]===_0x39df('0x10')){var _0x486c74={'tls':{'rejectUnauthorized':![]}};if(this[_0x39df('0x28')][_0x39df('0x2c')]['service']){_0x486c74[_0x39df('0x2d')]=this[_0x39df('0x28')][_0x39df('0x2c')][_0x39df('0x2d')];}else{_0x486c74[_0x39df('0x2e')]=this[_0x39df('0x28')][_0x39df('0x2c')][_0x39df('0x2e')];_0x486c74['port']=this['account'][_0x39df('0x2c')][_0x39df('0x2f')];_0x486c74[_0x39df('0x30')]=this['account']['Smtp'][_0x39df('0x30')];}if(this['account'][_0x39df('0x2c')][_0x39df('0x31')]){_0x486c74[_0x39df('0x32')]={'user':this[_0x39df('0x28')][_0x39df('0x2c')][_0x39df('0x33')],'pass':this[_0x39df('0x28')][_0x39df('0x2c')][_0x39df('0x34')]};}_0x26fb95[_0x39df('0x35')]=this[_0x39df('0x1e')]['messageId'];_0x26fb95[_0x39df('0x36')]=_0x39df('0x37')+_[_0x39df('0x38')](_0x26fb95[_0x39df('0x11')],_0x39df('0x39'),_0x39df('0x3a'))+_0x39df('0x3b');_0x26fb95[_0x39df('0x3c')]={'Auto-Submitted':_0x39df('0x3d'),'X-Auto-Response-Suppress':_0x39df('0x3e'),'Precedence':_0x39df('0x3f')};return mailRpc[_0x39df('0x40')](_0x486c74,_0x26fb95)[_0x39df('0x41')](function(_0x53f511){logger['info'](_0x39df('0x42'),_0x1a3ee7);_0x26fb95[_0x39df('0x43')]=_0x53f511[_0x39df('0x1e')]['messageId'];return rpc[_0x43d055+_0x39df('0x2b')][_0x39df('0x44')](_0x26fb95);})['then'](function(_0x4ae865){logger[_0x39df('0x13')](_0x39df('0x14'),_0x1a3ee7,JSON[_0x39df('0x45')](_0x4ae865));})[_0x39df('0x46')](function(_0x3c5026){logger[_0x39df('0x47')]('[RPC][%s][AUTOREPLY]\x20%s',_0x1a3ee7,JSON[_0x39df('0x45')](_0x3c5026));})[_0x39df('0x48')](function(){Promise[_0x39df('0x49')]()[_0x39df('0x41')](function(){if(_0x519503[0x0]!=='2'||_0x536606[_0x39df('0x19')])return;return rpc[_0x43d055+_0x39df('0x4a')]['update'](_0x536606['id'],{'autoreplyExecuted':!![]})[_0x39df('0x41')](function(_0x625c0){logger[_0x39df('0x13')](_0x39df('0x4b'),_0x1a3ee7,JSON[_0x39df('0x45')](_0x625c0));})[_0x39df('0x46')](function(_0xbf8e13){logger[_0x39df('0x47')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x1a3ee7,JSON[_0x39df('0x45')](_0xbf8e13));});})[_0x39df('0x41')](function(){_0x37172c[_0x39df('0x16')]();});});}else{return rpc[this[_0x39df('0xf')]+_0x39df('0x2b')][_0x39df('0x44')](_0x26fb95)[_0x39df('0x41')](function(_0x56727c){logger[_0x39df('0x13')]('[%s][AUTOREPLY]\x20%s',_0x1a3ee7,_0x26fb95['body']);})[_0x39df('0x46')](function(_0x59a970){logger[_0x39df('0x47')](_0x39df('0x14'),_0x1a3ee7,JSON['stringify'](_0x59a970));})[_0x39df('0x48')](function(){Promise['resolve']()[_0x39df('0x41')](function(){if(_0x519503[0x0]!=='2'||_0x536606['autoreplyExecuted'])return;return rpc[_0x43d055+_0x39df('0x4a')][_0x39df('0x4c')](_0x536606['id'],{'autoreplyExecuted':!![]})[_0x39df('0x41')](function(_0x390c7b){logger[_0x39df('0x13')](_0x39df('0x4b'),_0x1a3ee7,JSON['stringify'](_0x390c7b));})[_0x39df('0x46')](function(_0x49aaf9){logger[_0x39df('0x47')](_0x39df('0x4d'),_0x1a3ee7,JSON['stringify'](_0x49aaf9));});})[_0x39df('0x41')](function(){_0x37172c[_0x39df('0x16')]();});});}}}catch(_0x418dfb){logger[_0x39df('0x47')](_0x39df('0x14'),_0x1a3ee7,JSON[_0x39df('0x45')](_0x418dfb));_0x37172c[_0x39df('0x4e')]();}};};