17eeaff5b7d8bdd1016c55712d62e9565839378e
[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 _0xb82c=['auto_reply','sendMailMessage','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','stringify','error','[RPC][%s][AUTOREPLY]\x20%s','finally','autoreplyExecuted','Interaction','update','resolve','catch','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/mailInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','[%s][AUTOREPLY]\x20%s','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','format','YYYY-MM-DD\x20HH:mm:ss','getMustacheRender','from','message','phone','read','subject','startsWith','Re:\x20','ChatWebsiteId','account','AccountId','upperFirst','InteractionId','Message','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','auto-replied','All'];(function(_0x2a8a3b,_0x35eb4a){var _0x461633=function(_0x16cc9a){while(--_0x16cc9a){_0x2a8a3b['push'](_0x2a8a3b['shift']());}};_0x461633(++_0x35eb4a);}(_0xb82c,0x9c));var _0xcb82=function(_0x1e01ca,_0x14dc80){_0x1e01ca=_0x1e01ca-0x0;var _0x318e7f=_0xb82c[_0x1e01ca];return _0x318e7f;};'use strict';var _=require(_0xcb82('0x0'));var moment=require('moment');var utils=require(_0xcb82('0x1'));var logger=require('../../../../config/logger')(_0xcb82('0x2'));var rpc={'chatMessage':require(_0xcb82('0x3')),'openchannelMessage':require(_0xcb82('0x4')),'mailMessage':require(_0xcb82('0x5')),'smsMessage':require(_0xcb82('0x6')),'faxMessage':require(_0xcb82('0x7')),'whatsappMessage':require(_0xcb82('0x8')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0xcb82('0x9')),'smsInteraction':require('../../rpc/smsInteraction'),'faxInteraction':require(_0xcb82('0xa')),'whatsappInteraction':require(_0xcb82('0xb'))};var mailRpc=require(_0xcb82('0xc'));exports[_0xcb82('0xd')]=function(_0x82fbaa,_0x148bee,_0x556213,_0x1ceae5){return function(_0x5c8d13){try{var _0x2437e6=this[_0xcb82('0xe')];if(_0x2437e6===_0xcb82('0xf')&&_0x1ceae5[_0xcb82('0x10')][_0xcb82('0x11')]){logger[_0xcb82('0x12')]('[%s][AUTOREPLY]\x20%s',_0x82fbaa,_0xcb82('0x13'));return _0x5c8d13[_0xcb82('0x14')]();}if(_0x148bee[0x0]==='1'&&(_[_0xcb82('0x15')](this[_0xcb82('0x16')]['created'])||!this[_0xcb82('0x16')][_0xcb82('0x17')])){logger['info'](_0xcb82('0x18'),_0x82fbaa,'Autoreply\x20already\x20sent');return _0x5c8d13[_0xcb82('0x14')]();}if(_0x148bee[0x0]==='2'&&this[_0xcb82('0x16')]['autoreplyExecuted']){logger[_0xcb82('0x12')](_0xcb82('0x19'),_0x82fbaa,_0xcb82('0x1a'));return _0x5c8d13[_0xcb82('0x14')]();}var _0xaa75df={'ContactId':this['contact']['id'],'sentAt':moment()[_0xcb82('0x1b')](_0xcb82('0x1c')),'direction':'out'};if(this[_0xcb82('0xe')]===_0xcb82('0xf')){_0xaa75df[_0xcb82('0x10')]=utils[_0xcb82('0x1d')](_0x148bee[0x2],this);}else{_0xaa75df[_0xcb82('0x10')]=utils[_0xcb82('0x1d')](_0x148bee[0x1],this);}if(this['message']){_0xaa75df['to']=this['message'][_0xcb82('0x1e')]||'';if(this['channel']===_0xcb82('0xf')&&_0x148bee[0x1]==='1'){_0xaa75df['cc']=this[_0xcb82('0x1f')]['cc']||'';}_0xaa75df[_0xcb82('0x1e')]=this[_0xcb82('0x1f')]['to']||'';_0xaa75df[_0xcb82('0x20')]=this[_0xcb82('0x1f')][_0xcb82('0x20')]||'';_0xaa75df[_0xcb82('0x21')]=!![];if(this['message'][_0xcb82('0x22')]){_0xaa75df[_0xcb82('0x22')]='';_0xaa75df[_0xcb82('0x22')]+=_[_0xcb82('0x23')](this[_0xcb82('0x1f')][_0xcb82('0x22')],'Re:')?'':_0xcb82('0x24');_0xaa75df[_0xcb82('0x22')]+=this[_0xcb82('0x1f')][_0xcb82('0x22')];}}if(this[_0xcb82('0xe')]==='chat'){_0xaa75df[_0xcb82('0x25')]=this[_0xcb82('0x26')]['id'];}else{_0xaa75df[_['upperFirst'](this[_0xcb82('0xe')])+_0xcb82('0x27')]=this[_0xcb82('0x26')]['id'];}_0xaa75df[_[_0xcb82('0x28')](this['channel'])+_0xcb82('0x29')]=this[_0xcb82('0x16')]['id'];var _0x6e261d=this['interaction'];if(rpc[this[_0xcb82('0xe')]+_0xcb82('0x2a')]){if(this[_0xcb82('0xe')]===_0xcb82('0xf')){_0xaa75df[_0xcb82('0x2b')]=this['message']['messageId'];_0xaa75df[_0xcb82('0x2c')]=_0xcb82('0x2d')+_[_0xcb82('0x2e')](_0xaa75df['body'],_0xcb82('0x2f'),_0xcb82('0x30'))+'</div>';_0xaa75df['headers']={'Auto-Submitted':_0xcb82('0x31'),'X-Auto-Response-Suppress':_0xcb82('0x32'),'Precedence':_0xcb82('0x33')};return mailRpc[_0xcb82('0x34')](this[_0xcb82('0x26')][_0xcb82('0x35')],_0xaa75df)[_0xcb82('0x36')](function(_0x1e8405){logger[_0xcb82('0x12')](_0xcb82('0x37'),_0x82fbaa);_0xaa75df[_0xcb82('0x38')]=_0x1e8405[_0xcb82('0x1f')][_0xcb82('0x38')];return rpc[_0x2437e6+_0xcb82('0x2a')][_0xcb82('0x39')](_0xaa75df);})[_0xcb82('0x36')](function(_0x16e6b9){logger[_0xcb82('0x12')](_0xcb82('0x18'),_0x82fbaa,JSON[_0xcb82('0x3a')](_0x16e6b9));})['catch'](function(_0x372678){logger[_0xcb82('0x3b')](_0xcb82('0x3c'),_0x82fbaa,JSON[_0xcb82('0x3a')](_0x372678));})[_0xcb82('0x3d')](function(){Promise['resolve']()[_0xcb82('0x36')](function(){if(_0x148bee[0x0]!=='2'||_0x6e261d[_0xcb82('0x3e')])return;return rpc[_0x2437e6+_0xcb82('0x3f')][_0xcb82('0x40')](_0x6e261d['id'],{'autoreplyExecuted':!![]})[_0xcb82('0x36')](function(_0xf26e0a){logger['info'](_0xcb82('0x19'),_0x82fbaa,JSON['stringify'](_0xf26e0a));})['catch'](function(_0x17b4fc){logger[_0xcb82('0x3b')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x82fbaa,JSON[_0xcb82('0x3a')](_0x17b4fc));});})[_0xcb82('0x36')](function(){_0x5c8d13[_0xcb82('0x14')]();});});}else{return rpc[this['channel']+'Message']['create'](_0xaa75df)[_0xcb82('0x36')](function(){logger[_0xcb82('0x12')](_0xcb82('0x18'),_0x82fbaa,_0xaa75df['body']);})['catch'](function(_0x231e99){logger[_0xcb82('0x3b')]('[%s][AUTOREPLY]\x20%s',_0x82fbaa,JSON[_0xcb82('0x3a')](_0x231e99));})[_0xcb82('0x3d')](function(){Promise[_0xcb82('0x41')]()['then'](function(){if(_0x148bee[0x0]!=='2'||_0x6e261d[_0xcb82('0x3e')])return;return rpc[_0x2437e6+_0xcb82('0x3f')]['update'](_0x6e261d['id'],{'autoreplyExecuted':!![]})[_0xcb82('0x36')](function(_0x1bd16c){logger['info'](_0xcb82('0x19'),_0x82fbaa,JSON[_0xcb82('0x3a')](_0x1bd16c));})[_0xcb82('0x42')](function(_0x52bc87){logger[_0xcb82('0x3b')](_0xcb82('0x43'),_0x82fbaa,JSON[_0xcb82('0x3a')](_0x52bc87));});})[_0xcb82('0x36')](function(){_0x5c8d13[_0xcb82('0x14')]();});});}}}catch(_0x3b10ff){logger[_0xcb82('0x3b')](_0xcb82('0x18'),_0x82fbaa,JSON[_0xcb82('0x3a')](_0x3b10ff));_0x5c8d13[_0xcb82('0x44')]();}};};