Built motion from commit b5413ace.|2.6.9
[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 _0x4a73=['[%s][AUTOREPLY][autoreplyExecuted]\x20%s','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','finally','stop','lodash','moment','../../../../config/logger','routing','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','channel','mail','body','isAutoreply','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','interaction','created','info','Autoreply\x20already\x20sent','One\x20Time\x20already\x20sent','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','subject','startsWith','Re:','chat','ChatWebsiteId','account','upperFirst','InteractionId','Message','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','headers','auto-replied','All','auto_reply','smtpOptions','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','resolve','then','autoreplyExecuted','Interaction','update'];(function(_0x41e568,_0x3d4f20){var _0x55c2f8=function(_0x1296a8){while(--_0x1296a8){_0x41e568['push'](_0x41e568['shift']());}};_0x55c2f8(++_0x3d4f20);}(_0x4a73,0x1d2));var _0x34a7=function(_0x143a16,_0xf4c17a){_0x143a16=_0x143a16-0x0;var _0x2b983b=_0x4a73[_0x143a16];return _0x2b983b;};'use strict';var _=require(_0x34a7('0x0'));var moment=require(_0x34a7('0x1'));var utils=require('./utils');var logger=require(_0x34a7('0x2'))(_0x34a7('0x3'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0x34a7('0x4')),'mailMessage':require(_0x34a7('0x5')),'smsMessage':require(_0x34a7('0x6')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0x34a7('0x7')),'chatInteraction':require(_0x34a7('0x8')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x34a7('0x9')),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0x34a7('0xa')),'whatsappInteraction':require(_0x34a7('0xb'))};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x2a7dd3,_0x5e3b0a,_0x17817c,_0x11be07){return function(_0x59a568){try{var _0x184697=this[_0x34a7('0xc')];if(_0x184697===_0x34a7('0xd')&&_0x11be07[_0x34a7('0xe')][_0x34a7('0xf')]){logger['info'](_0x34a7('0x10'),_0x2a7dd3,_0x34a7('0x11'));return _0x59a568[_0x34a7('0x12')]();}if(_0x5e3b0a[0x0]==='1'&&(_['isNil'](this[_0x34a7('0x13')][_0x34a7('0x14')])||!this[_0x34a7('0x13')][_0x34a7('0x14')])){logger[_0x34a7('0x15')](_0x34a7('0x10'),_0x2a7dd3,_0x34a7('0x16'));return _0x59a568[_0x34a7('0x12')]();}if(_0x5e3b0a[0x0]==='2'&&this[_0x34a7('0x13')]['autoreplyExecuted']){logger[_0x34a7('0x15')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x2a7dd3,_0x34a7('0x17'));return _0x59a568[_0x34a7('0x12')]();}var _0x3b4cb6={'ContactId':this['contact']['id'],'sentAt':moment()[_0x34a7('0x18')](_0x34a7('0x19')),'direction':_0x34a7('0x1a')};if(this[_0x34a7('0xc')]===_0x34a7('0xd')){_0x3b4cb6['body']=utils[_0x34a7('0x1b')](_0x5e3b0a[0x2],this);}else{_0x3b4cb6['body']=utils[_0x34a7('0x1b')](_0x5e3b0a[0x1],this);}if(this[_0x34a7('0x1c')]){_0x3b4cb6['to']=this[_0x34a7('0x1c')][_0x34a7('0x1d')]||'';if(this[_0x34a7('0xc')]==='mail'&&_0x5e3b0a[0x1]==='1'){_0x3b4cb6['cc']=this[_0x34a7('0x1c')]['cc']||'';}_0x3b4cb6['from']=this[_0x34a7('0x1c')]['to']||'';_0x3b4cb6['phone']=this[_0x34a7('0x1c')][_0x34a7('0x1e')]||'';_0x3b4cb6['read']=!![];if(this['message'][_0x34a7('0x1f')]){_0x3b4cb6['subject']='';_0x3b4cb6[_0x34a7('0x1f')]+=_[_0x34a7('0x20')](this['message'][_0x34a7('0x1f')],_0x34a7('0x21'))?'':'Re:\x20';_0x3b4cb6[_0x34a7('0x1f')]+=this[_0x34a7('0x1c')][_0x34a7('0x1f')];}}if(this[_0x34a7('0xc')]===_0x34a7('0x22')){_0x3b4cb6[_0x34a7('0x23')]=this[_0x34a7('0x24')]['id'];}else{_0x3b4cb6[_['upperFirst'](this['channel'])+'AccountId']=this[_0x34a7('0x24')]['id'];}_0x3b4cb6[_[_0x34a7('0x25')](this[_0x34a7('0xc')])+_0x34a7('0x26')]=this[_0x34a7('0x13')]['id'];var _0x178398=this['interaction'];if(rpc[this[_0x34a7('0xc')]+_0x34a7('0x27')]){if(this['channel']===_0x34a7('0xd')){_0x3b4cb6[_0x34a7('0x28')]=this[_0x34a7('0x1c')][_0x34a7('0x29')];_0x3b4cb6[_0x34a7('0x2a')]=_0x34a7('0x2b')+_[_0x34a7('0x2c')](_0x3b4cb6[_0x34a7('0xe')],_0x34a7('0x2d'),'<div')+'</div>';_0x3b4cb6[_0x34a7('0x2e')]={'Auto-Submitted':_0x34a7('0x2f'),'X-Auto-Response-Suppress':_0x34a7('0x30'),'Precedence':_0x34a7('0x31')};return mailRpc['sendMailMessage'](this['account'][_0x34a7('0x32')],_0x3b4cb6)['then'](function(_0x2c0770){logger[_0x34a7('0x15')](_0x34a7('0x33'),_0x2a7dd3);_0x3b4cb6[_0x34a7('0x29')]=_0x2c0770['message']['messageId'];return rpc[_0x184697+'Message'][_0x34a7('0x34')](_0x3b4cb6);})['then'](function(_0x33f61d){logger[_0x34a7('0x15')](_0x34a7('0x10'),_0x2a7dd3,JSON[_0x34a7('0x35')](_0x33f61d));})[_0x34a7('0x36')](function(_0x1738f3){logger[_0x34a7('0x37')](_0x34a7('0x38'),_0x2a7dd3,JSON[_0x34a7('0x35')](_0x1738f3));})['finally'](function(){Promise[_0x34a7('0x39')]()[_0x34a7('0x3a')](function(){if(_0x5e3b0a[0x0]!=='2'||_0x178398[_0x34a7('0x3b')])return;return rpc[_0x184697+_0x34a7('0x3c')][_0x34a7('0x3d')](_0x178398['id'],{'autoreplyExecuted':!![]})[_0x34a7('0x3a')](function(_0x52f54d){logger[_0x34a7('0x15')](_0x34a7('0x3e'),_0x2a7dd3,JSON[_0x34a7('0x35')](_0x52f54d));})[_0x34a7('0x36')](function(_0x448bf2){logger[_0x34a7('0x37')](_0x34a7('0x3f'),_0x2a7dd3,JSON[_0x34a7('0x35')](_0x448bf2));});})['then'](function(){_0x59a568[_0x34a7('0x12')]();});});}else{return rpc[this[_0x34a7('0xc')]+_0x34a7('0x27')][_0x34a7('0x34')](_0x3b4cb6)[_0x34a7('0x3a')](function(){logger[_0x34a7('0x15')](_0x34a7('0x10'),_0x2a7dd3,_0x3b4cb6[_0x34a7('0xe')]);})[_0x34a7('0x36')](function(_0x4bcc03){logger[_0x34a7('0x37')](_0x34a7('0x10'),_0x2a7dd3,JSON[_0x34a7('0x35')](_0x4bcc03));})[_0x34a7('0x40')](function(){Promise['resolve']()[_0x34a7('0x3a')](function(){if(_0x5e3b0a[0x0]!=='2'||_0x178398[_0x34a7('0x3b')])return;return rpc[_0x184697+'Interaction']['update'](_0x178398['id'],{'autoreplyExecuted':!![]})[_0x34a7('0x3a')](function(_0x3132b5){logger[_0x34a7('0x15')](_0x34a7('0x3e'),_0x2a7dd3,JSON[_0x34a7('0x35')](_0x3132b5));})[_0x34a7('0x36')](function(_0xf6a078){logger[_0x34a7('0x37')](_0x34a7('0x3f'),_0x2a7dd3,JSON['stringify'](_0xf6a078));});})[_0x34a7('0x3a')](function(){_0x59a568['next']();});});}}}catch(_0x11f418){logger[_0x34a7('0x37')](_0x34a7('0x10'),_0x2a7dd3,JSON[_0x34a7('0x35')](_0x11f418));_0x59a568[_0x34a7('0x41')]();}};};