3ebd71d81e66e5c566909c1489ec7b87814ea1bb
[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 _0x3187=['inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','headers','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','Message','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','resolve','stop','lodash','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','consequence','channel','mail','isAutoreply','info','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','created','interaction','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','body','getMustacheRender','message','from','phone','read','subject','Re:','Re:\x20','ChatWebsiteId','account','upperFirst'];(function(_0x9557f7,_0x229fac){var _0x563f23=function(_0x417234){while(--_0x417234){_0x9557f7['push'](_0x9557f7['shift']());}};_0x563f23(++_0x229fac);}(_0x3187,0x1bf));var _0x7318=function(_0x51a9f8,_0x284c3a){_0x51a9f8=_0x51a9f8-0x0;var _0x212323=_0x3187[_0x51a9f8];return _0x212323;};'use strict';var _=require(_0x7318('0x0'));var moment=require('moment');var utils=require(_0x7318('0x1'));var logger=require(_0x7318('0x2'))('routing');var rpc={'chatMessage':require(_0x7318('0x3')),'openchannelMessage':require(_0x7318('0x4')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x7318('0x5')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0x7318('0x6')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require(_0x7318('0x7')),'mailInteraction':require(_0x7318('0x8')),'smsInteraction':require(_0x7318('0x9')),'faxInteraction':require(_0x7318('0xa')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require('../../mailRpc');exports[_0x7318('0xb')]=function(_0x37bdf8,_0x473547,_0x47b603,_0xffe0a7){return function(_0x94b320){try{var _0x11be8f=this[_0x7318('0xc')];if(_0x11be8f===_0x7318('0xd')&&_0xffe0a7['body'][_0x7318('0xe')]){logger[_0x7318('0xf')]('[%s][AUTOREPLY]\x20%s',_0x37bdf8,_0x7318('0x10'));return _0x94b320[_0x7318('0x11')]();}if(_0x473547[0x0]==='1'&&(_[_0x7318('0x12')](this['interaction'][_0x7318('0x13')])||!this[_0x7318('0x14')]['created'])){logger['info'](_0x7318('0x15'),_0x37bdf8,_0x7318('0x16'));return _0x94b320[_0x7318('0x11')]();}if(_0x473547[0x0]==='2'&&this[_0x7318('0x14')][_0x7318('0x17')]){logger[_0x7318('0xf')](_0x7318('0x18'),_0x37bdf8,'One\x20Time\x20already\x20sent');return _0x94b320[_0x7318('0x11')]();}var _0x2382a6={'ContactId':this[_0x7318('0x19')]['id'],'sentAt':moment()[_0x7318('0x1a')](_0x7318('0x1b')),'direction':_0x7318('0x1c')};if(this[_0x7318('0xc')]===_0x7318('0xd')){_0x2382a6[_0x7318('0x1d')]=utils[_0x7318('0x1e')](_0x473547[0x2],this);}else{_0x2382a6[_0x7318('0x1d')]=utils[_0x7318('0x1e')](_0x473547[0x1],this);}if(this[_0x7318('0x1f')]){_0x2382a6['to']=this[_0x7318('0x1f')][_0x7318('0x20')]||'';if(this[_0x7318('0xc')]===_0x7318('0xd')&&_0x473547[0x1]==='1'){_0x2382a6['cc']=this[_0x7318('0x1f')]['cc']||'';}_0x2382a6['from']=this[_0x7318('0x1f')]['to']||'';_0x2382a6[_0x7318('0x21')]=this['message'][_0x7318('0x21')]||'';_0x2382a6[_0x7318('0x22')]=!![];if(this[_0x7318('0x1f')][_0x7318('0x23')]){_0x2382a6[_0x7318('0x23')]='';_0x2382a6[_0x7318('0x23')]+=_['startsWith'](this[_0x7318('0x1f')][_0x7318('0x23')],_0x7318('0x24'))?'':_0x7318('0x25');_0x2382a6['subject']+=this[_0x7318('0x1f')]['subject'];}}if(this[_0x7318('0xc')]==='chat'){_0x2382a6[_0x7318('0x26')]=this[_0x7318('0x27')]['id'];}else{_0x2382a6[_[_0x7318('0x28')](this[_0x7318('0xc')])+'AccountId']=this[_0x7318('0x27')]['id'];}_0x2382a6[_['upperFirst'](this[_0x7318('0xc')])+'InteractionId']=this['interaction']['id'];var _0x58c0cb=this[_0x7318('0x14')];if(rpc[this[_0x7318('0xc')]+'Message']){if(this[_0x7318('0xc')]===_0x7318('0xd')){_0x2382a6[_0x7318('0x29')]=this['message'][_0x7318('0x2a')];_0x2382a6[_0x7318('0x2b')]=_0x7318('0x2c')+_['replace'](_0x2382a6[_0x7318('0x1d')],'<div\x20id=\x22xm-mail-content\x22','<div')+'</div>';_0x2382a6[_0x7318('0x2d')]={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':'All','Precedence':'auto_reply'};return mailRpc['sendMailMessage'](this[_0x7318('0x27')][_0x7318('0x2e')],_0x2382a6)[_0x7318('0x2f')](function(_0x2f8b49){logger[_0x7318('0xf')](_0x7318('0x30'),_0x37bdf8);_0x2382a6['messageId']=_0x2f8b49[_0x7318('0x1f')][_0x7318('0x2a')];return rpc[_0x11be8f+_0x7318('0x31')][_0x7318('0x32')](_0x2382a6);})[_0x7318('0x2f')](function(_0x556a44){logger['info'](_0x7318('0x15'),_0x37bdf8,JSON[_0x7318('0x33')](_0x556a44));})[_0x7318('0x34')](function(_0x45b1e1){logger[_0x7318('0x35')](_0x7318('0x36'),_0x37bdf8,JSON['stringify'](_0x45b1e1));})[_0x7318('0x37')](function(){Promise['resolve']()['then'](function(){if(_0x473547[0x0]!=='2'||_0x58c0cb['autoreplyExecuted'])return;return rpc[_0x11be8f+_0x7318('0x38')][_0x7318('0x39')](_0x58c0cb['id'],{'autoreplyExecuted':!![]})['then'](function(_0x70241c){logger[_0x7318('0xf')](_0x7318('0x18'),_0x37bdf8,JSON[_0x7318('0x33')](_0x70241c));})[_0x7318('0x34')](function(_0x534321){logger['error'](_0x7318('0x3a'),_0x37bdf8,JSON[_0x7318('0x33')](_0x534321));});})[_0x7318('0x2f')](function(){_0x94b320[_0x7318('0x11')]();});});}else{return rpc[this[_0x7318('0xc')]+'Message'][_0x7318('0x32')](_0x2382a6)[_0x7318('0x2f')](function(){logger['info'](_0x7318('0x15'),_0x37bdf8,_0x2382a6[_0x7318('0x1d')]);})['catch'](function(_0x4850fa){logger[_0x7318('0x35')](_0x7318('0x15'),_0x37bdf8,JSON[_0x7318('0x33')](_0x4850fa));})['finally'](function(){Promise[_0x7318('0x3b')]()[_0x7318('0x2f')](function(){if(_0x473547[0x0]!=='2'||_0x58c0cb[_0x7318('0x17')])return;return rpc[_0x11be8f+_0x7318('0x38')][_0x7318('0x39')](_0x58c0cb['id'],{'autoreplyExecuted':!![]})['then'](function(_0x33d24d){logger[_0x7318('0xf')](_0x7318('0x18'),_0x37bdf8,JSON[_0x7318('0x33')](_0x33d24d));})[_0x7318('0x34')](function(_0x113d12){logger[_0x7318('0x35')](_0x7318('0x3a'),_0x37bdf8,JSON['stringify'](_0x113d12));});})[_0x7318('0x2f')](function(){_0x94b320['next']();});});}}}catch(_0xf40a85){logger[_0x7318('0x35')](_0x7318('0x15'),_0x37bdf8,JSON[_0x7318('0x33')](_0xf40a85));_0x94b320[_0x7318('0x3c')]();}};};