Built motion from commit 52c8a02d.|2.6.29
[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 _0x6619=['getMustacheRender','message','from','phone','read','subject','Re:','Re:\x20','ChatWebsiteId','account','upperFirst','Message','replace','<div','</div>','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','finally','resolve','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','Interaction','lodash','./utils','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../mailRpc','channel','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','isNil','created','next','interaction','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','format','out','mail'];(function(_0x1cedc8,_0xe1c4e1){var _0x585ed1=function(_0x1c5083){while(--_0x1c5083){_0x1cedc8['push'](_0x1cedc8['shift']());}};_0x585ed1(++_0xe1c4e1);}(_0x6619,0x13a));var _0x9661=function(_0x1d4072,_0x35387f){_0x1d4072=_0x1d4072-0x0;var _0x4e462e=_0x6619[_0x1d4072];return _0x4e462e;};'use strict';var _=require(_0x9661('0x0'));var moment=require('moment');var utils=require(_0x9661('0x1'));var logger=require('../../../../config/logger')(_0x9661('0x2'));var rpc={'chatMessage':require(_0x9661('0x3')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x9661('0x4')),'smsMessage':require(_0x9661('0x5')),'faxMessage':require(_0x9661('0x6')),'whatsappMessage':require(_0x9661('0x7')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x9661('0x8')),'smsInteraction':require(_0x9661('0x9')),'faxInteraction':require(_0x9661('0xa')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require(_0x9661('0xb'));exports['consequence']=function(_0x35fccb,_0x57729e,_0x3fe9ff,_0x403753){return function(_0x44f713){try{var _0x38f7ac=this[_0x9661('0xc')];if(_0x38f7ac==='mail'&&_0x403753[_0x9661('0xd')][_0x9661('0xe')]){logger[_0x9661('0xf')](_0x9661('0x10'),_0x35fccb,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x44f713['next']();}if(_0x57729e[0x0]==='1'&&(_[_0x9661('0x11')](this['interaction'][_0x9661('0x12')])||!this['interaction'][_0x9661('0x12')])){logger[_0x9661('0xf')](_0x9661('0x10'),_0x35fccb,'Autoreply\x20already\x20sent');return _0x44f713[_0x9661('0x13')]();}if(_0x57729e[0x0]==='2'&&this[_0x9661('0x14')][_0x9661('0x15')]){logger['info'](_0x9661('0x16'),_0x35fccb,_0x9661('0x17'));return _0x44f713[_0x9661('0x13')]();}var _0xf5133c={'ContactId':this[_0x9661('0x18')]['id'],'sentAt':moment()[_0x9661('0x19')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x9661('0x1a')};if(this['channel']===_0x9661('0x1b')){_0xf5133c['body']=utils[_0x9661('0x1c')](_0x57729e[0x2],this);}else{_0xf5133c[_0x9661('0xd')]=utils[_0x9661('0x1c')](_0x57729e[0x1],this);}if(this[_0x9661('0x1d')]){_0xf5133c['to']=this[_0x9661('0x1d')][_0x9661('0x1e')]||'';if(this[_0x9661('0xc')]==='mail'&&_0x57729e[0x1]==='1'){_0xf5133c['cc']=this['message']['cc']||'';}_0xf5133c[_0x9661('0x1e')]=this[_0x9661('0x1d')]['to']||'';_0xf5133c[_0x9661('0x1f')]=this[_0x9661('0x1d')][_0x9661('0x1f')]||'';_0xf5133c[_0x9661('0x20')]=!![];if(this[_0x9661('0x1d')][_0x9661('0x21')]){_0xf5133c['subject']='';_0xf5133c[_0x9661('0x21')]+=_['startsWith'](this[_0x9661('0x1d')][_0x9661('0x21')],_0x9661('0x22'))?'':_0x9661('0x23');_0xf5133c[_0x9661('0x21')]+=this[_0x9661('0x1d')][_0x9661('0x21')];}}if(this[_0x9661('0xc')]==='chat'){_0xf5133c[_0x9661('0x24')]=this[_0x9661('0x25')]['id'];}else{_0xf5133c[_[_0x9661('0x26')](this[_0x9661('0xc')])+'AccountId']=this['account']['id'];}_0xf5133c[_[_0x9661('0x26')](this[_0x9661('0xc')])+'InteractionId']=this['interaction']['id'];var _0xae68dd=this['interaction'];if(rpc[this[_0x9661('0xc')]+_0x9661('0x27')]){if(this[_0x9661('0xc')]===_0x9661('0x1b')){_0xf5133c['inReplyTo']=this[_0x9661('0x1d')]['messageId'];_0xf5133c['html']='<div\x20id=\x22xm-mail-content\x22>'+_[_0x9661('0x28')](_0xf5133c[_0x9661('0xd')],'<div\x20id=\x22xm-mail-content\x22',_0x9661('0x29'))+_0x9661('0x2a');_0xf5133c['headers']={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':_0x9661('0x2b'),'Precedence':_0x9661('0x2c')};return mailRpc[_0x9661('0x2d')](this[_0x9661('0x25')]['smtpOptions'],_0xf5133c)[_0x9661('0x2e')](function(_0x1c7360){logger[_0x9661('0xf')](_0x9661('0x2f'),_0x35fccb);_0xf5133c['messageId']=_0x1c7360[_0x9661('0x1d')]['messageId'];return rpc[_0x38f7ac+_0x9661('0x27')][_0x9661('0x30')](_0xf5133c);})[_0x9661('0x2e')](function(_0x4be111){logger[_0x9661('0xf')](_0x9661('0x10'),_0x35fccb,JSON[_0x9661('0x31')](_0x4be111));})[_0x9661('0x32')](function(_0x28ad1f){logger[_0x9661('0x33')]('[RPC][%s][AUTOREPLY]\x20%s',_0x35fccb,JSON['stringify'](_0x28ad1f));})[_0x9661('0x34')](function(){Promise[_0x9661('0x35')]()[_0x9661('0x2e')](function(){if(_0x57729e[0x0]!=='2'||_0xae68dd[_0x9661('0x15')])return;return rpc[_0x38f7ac+'Interaction'][_0x9661('0x36')](_0xae68dd['id'],{'autoreplyExecuted':!![]})[_0x9661('0x2e')](function(_0x3e9e54){logger[_0x9661('0xf')](_0x9661('0x16'),_0x35fccb,JSON[_0x9661('0x31')](_0x3e9e54));})['catch'](function(_0xc1f451){logger[_0x9661('0x33')](_0x9661('0x37'),_0x35fccb,JSON[_0x9661('0x31')](_0xc1f451));});})[_0x9661('0x2e')](function(){_0x44f713[_0x9661('0x13')]();});});}else{return rpc[this['channel']+_0x9661('0x27')][_0x9661('0x30')](_0xf5133c)[_0x9661('0x2e')](function(){logger['info'](_0x9661('0x10'),_0x35fccb,_0xf5133c[_0x9661('0xd')]);})[_0x9661('0x32')](function(_0x16e462){logger[_0x9661('0x33')]('[%s][AUTOREPLY]\x20%s',_0x35fccb,JSON[_0x9661('0x31')](_0x16e462));})[_0x9661('0x34')](function(){Promise['resolve']()[_0x9661('0x2e')](function(){if(_0x57729e[0x0]!=='2'||_0xae68dd[_0x9661('0x15')])return;return rpc[_0x38f7ac+_0x9661('0x38')][_0x9661('0x36')](_0xae68dd['id'],{'autoreplyExecuted':!![]})['then'](function(_0x4e0d82){logger['info'](_0x9661('0x16'),_0x35fccb,JSON[_0x9661('0x31')](_0x4e0d82));})[_0x9661('0x32')](function(_0x4480fd){logger[_0x9661('0x33')](_0x9661('0x37'),_0x35fccb,JSON[_0x9661('0x31')](_0x4480fd));});})[_0x9661('0x2e')](function(){_0x44f713[_0x9661('0x13')]();});});}}}catch(_0x1f8cdc){logger[_0x9661('0x33')]('[%s][AUTOREPLY]\x20%s',_0x35fccb,JSON[_0x9661('0x31')](_0x1f8cdc));_0x44f713['stop']();}};};