Built motion from commit 639a1a7f.|2.6.19
[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 _0xdb81=['stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','resolve','autoreplyExecuted','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','create','Interaction','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','consequence','channel','mail','body','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','interaction','created','Autoreply\x20already\x20sent','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','next','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','account','upperFirst','AccountId','InteractionId','Message','inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','</div>','headers','auto-replied','All','auto_reply','then','[%s][AUTOREPLY]\x20SMTP\x20SENT'];(function(_0x47a273,_0x14a116){var _0x5a00f1=function(_0x41f657){while(--_0x41f657){_0x47a273['push'](_0x47a273['shift']());}};_0x5a00f1(++_0x14a116);}(_0xdb81,0x159));var _0x1db8=function(_0x29a5c3,_0x243328){_0x29a5c3=_0x29a5c3-0x0;var _0x34928a=_0xdb81[_0x29a5c3];return _0x34928a;};'use strict';var _=require('lodash');var moment=require(_0x1db8('0x0'));var utils=require(_0x1db8('0x1'));var logger=require(_0x1db8('0x2'))(_0x1db8('0x3'));var rpc={'chatMessage':require(_0x1db8('0x4')),'openchannelMessage':require(_0x1db8('0x5')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x1db8('0x6')),'whatsappMessage':require(_0x1db8('0x7')),'chatInteraction':require(_0x1db8('0x8')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x1db8('0x9')),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0x1db8('0xa')),'whatsappInteraction':require(_0x1db8('0xb'))};var mailRpc=require('../../mailRpc');exports[_0x1db8('0xc')]=function(_0x48a55d,_0x1b3fb0,_0x4c8384,_0x878818){return function(_0x1fb124){try{var _0x119960=this[_0x1db8('0xd')];if(_0x119960===_0x1db8('0xe')&&_0x878818[_0x1db8('0xf')]['isAutoreply']){logger[_0x1db8('0x10')](_0x1db8('0x11'),_0x48a55d,_0x1db8('0x12'));return _0x1fb124['next']();}if(_0x1b3fb0[0x0]==='1'&&(_[_0x1db8('0x13')](this[_0x1db8('0x14')][_0x1db8('0x15')])||!this['interaction'][_0x1db8('0x15')])){logger['info'](_0x1db8('0x11'),_0x48a55d,_0x1db8('0x16'));return _0x1fb124['next']();}if(_0x1b3fb0[0x0]==='2'&&this[_0x1db8('0x14')]['autoreplyExecuted']){logger[_0x1db8('0x10')](_0x1db8('0x17'),_0x48a55d,_0x1db8('0x18'));return _0x1fb124[_0x1db8('0x19')]();}var _0x3a8554={'ContactId':this[_0x1db8('0x1a')]['id'],'sentAt':moment()[_0x1db8('0x1b')](_0x1db8('0x1c')),'direction':_0x1db8('0x1d')};if(this[_0x1db8('0xd')]==='mail'){_0x3a8554[_0x1db8('0xf')]=utils[_0x1db8('0x1e')](_0x1b3fb0[0x2],this);}else{_0x3a8554['body']=utils[_0x1db8('0x1e')](_0x1b3fb0[0x1],this);}if(this[_0x1db8('0x1f')]){_0x3a8554['to']=this[_0x1db8('0x1f')][_0x1db8('0x20')]||'';if(this['channel']===_0x1db8('0xe')&&_0x1b3fb0[0x1]==='1'){_0x3a8554['cc']=this[_0x1db8('0x1f')]['cc']||'';}_0x3a8554[_0x1db8('0x20')]=this[_0x1db8('0x1f')]['to']||'';_0x3a8554[_0x1db8('0x21')]=this[_0x1db8('0x1f')][_0x1db8('0x21')]||'';_0x3a8554[_0x1db8('0x22')]=!![];if(this[_0x1db8('0x1f')][_0x1db8('0x23')]){_0x3a8554[_0x1db8('0x23')]='';_0x3a8554[_0x1db8('0x23')]+=_[_0x1db8('0x24')](this[_0x1db8('0x1f')][_0x1db8('0x23')],_0x1db8('0x25'))?'':_0x1db8('0x26');_0x3a8554['subject']+=this[_0x1db8('0x1f')][_0x1db8('0x23')];}}if(this[_0x1db8('0xd')]===_0x1db8('0x27')){_0x3a8554['ChatWebsiteId']=this[_0x1db8('0x28')]['id'];}else{_0x3a8554[_[_0x1db8('0x29')](this[_0x1db8('0xd')])+_0x1db8('0x2a')]=this[_0x1db8('0x28')]['id'];}_0x3a8554[_[_0x1db8('0x29')](this[_0x1db8('0xd')])+_0x1db8('0x2b')]=this[_0x1db8('0x14')]['id'];var _0xa7dc63=this[_0x1db8('0x14')];if(rpc[this[_0x1db8('0xd')]+_0x1db8('0x2c')]){if(this[_0x1db8('0xd')]==='mail'){_0x3a8554[_0x1db8('0x2d')]=this['message'][_0x1db8('0x2e')];_0x3a8554['html']=_0x1db8('0x2f')+_[_0x1db8('0x30')](_0x3a8554[_0x1db8('0xf')],_0x1db8('0x31'),'<div')+_0x1db8('0x32');_0x3a8554[_0x1db8('0x33')]={'Auto-Submitted':_0x1db8('0x34'),'X-Auto-Response-Suppress':_0x1db8('0x35'),'Precedence':_0x1db8('0x36')};return mailRpc['sendMailMessage'](this['account']['smtpOptions'],_0x3a8554)[_0x1db8('0x37')](function(_0x61604c){logger['info'](_0x1db8('0x38'),_0x48a55d);_0x3a8554[_0x1db8('0x2e')]=_0x61604c[_0x1db8('0x1f')][_0x1db8('0x2e')];return rpc[_0x119960+_0x1db8('0x2c')]['create'](_0x3a8554);})[_0x1db8('0x37')](function(_0x4aff2f){logger[_0x1db8('0x10')](_0x1db8('0x11'),_0x48a55d,JSON[_0x1db8('0x39')](_0x4aff2f));})[_0x1db8('0x3a')](function(_0x138a45){logger[_0x1db8('0x3b')](_0x1db8('0x3c'),_0x48a55d,JSON['stringify'](_0x138a45));})[_0x1db8('0x3d')](function(){Promise[_0x1db8('0x3e')]()[_0x1db8('0x37')](function(){if(_0x1b3fb0[0x0]!=='2'||_0xa7dc63[_0x1db8('0x3f')])return;return rpc[_0x119960+'Interaction']['update'](_0xa7dc63['id'],{'autoreplyExecuted':!![]})[_0x1db8('0x37')](function(_0x57b62f){logger[_0x1db8('0x10')](_0x1db8('0x17'),_0x48a55d,JSON[_0x1db8('0x39')](_0x57b62f));})[_0x1db8('0x3a')](function(_0x23a879){logger[_0x1db8('0x3b')](_0x1db8('0x40'),_0x48a55d,JSON[_0x1db8('0x39')](_0x23a879));});})[_0x1db8('0x37')](function(){_0x1fb124['next']();});});}else{return rpc[this[_0x1db8('0xd')]+_0x1db8('0x2c')][_0x1db8('0x41')](_0x3a8554)[_0x1db8('0x37')](function(){logger[_0x1db8('0x10')]('[%s][AUTOREPLY]\x20%s',_0x48a55d,_0x3a8554[_0x1db8('0xf')]);})['catch'](function(_0x6cc5d0){logger[_0x1db8('0x3b')](_0x1db8('0x11'),_0x48a55d,JSON[_0x1db8('0x39')](_0x6cc5d0));})['finally'](function(){Promise['resolve']()[_0x1db8('0x37')](function(){if(_0x1b3fb0[0x0]!=='2'||_0xa7dc63[_0x1db8('0x3f')])return;return rpc[_0x119960+_0x1db8('0x42')]['update'](_0xa7dc63['id'],{'autoreplyExecuted':!![]})[_0x1db8('0x37')](function(_0x48036e){logger['info'](_0x1db8('0x17'),_0x48a55d,JSON[_0x1db8('0x39')](_0x48036e));})[_0x1db8('0x3a')](function(_0x3a5987){logger[_0x1db8('0x3b')](_0x1db8('0x40'),_0x48a55d,JSON[_0x1db8('0x39')](_0x3a5987));});})['then'](function(){_0x1fb124[_0x1db8('0x19')]();});});}}}catch(_0x275ad8){logger[_0x1db8('0x3b')](_0x1db8('0x11'),_0x48a55d,JSON[_0x1db8('0x39')](_0x275ad8));_0x1fb124['stop']();}};};