Built motion from commit 97153652.|2.6.26
[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 _0x1913=['../../mailRpc','consequence','channel','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','created','interaction','Autoreply\x20already\x20sent','next','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','contact','format','out','mail','getMustacheRender','message','from','read','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','Message','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','auto-replied','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','update','finally','resolve','Interaction','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','moment','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x1913,0xbe));var _0x3191=function(_0x59d622,_0x321a3a){_0x59d622=_0x59d622-0x0;var _0x16bd15=_0x1913[_0x59d622];return _0x16bd15;};'use strict';var _=require(_0x3191('0x0'));var moment=require(_0x3191('0x1'));var utils=require(_0x3191('0x2'));var logger=require(_0x3191('0x3'))('routing');var rpc={'chatMessage':require(_0x3191('0x4')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x3191('0x5')),'faxMessage':require(_0x3191('0x6')),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require(_0x3191('0x7')),'mailInteraction':require(_0x3191('0x8')),'smsInteraction':require(_0x3191('0x9')),'faxInteraction':require(_0x3191('0xa')),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require(_0x3191('0xb'));exports[_0x3191('0xc')]=function(_0x34b937,_0x18c010,_0x4ba723,_0x3e4013){return function(_0x3d00f9){try{var _0x318763=this[_0x3191('0xd')];if(_0x318763==='mail'&&_0x3e4013[_0x3191('0xe')][_0x3191('0xf')]){logger[_0x3191('0x10')](_0x3191('0x11'),_0x34b937,_0x3191('0x12'));return _0x3d00f9['next']();}if(_0x18c010[0x0]==='1'&&(_['isNil'](this['interaction'][_0x3191('0x13')])||!this[_0x3191('0x14')]['created'])){logger[_0x3191('0x10')](_0x3191('0x11'),_0x34b937,_0x3191('0x15'));return _0x3d00f9[_0x3191('0x16')]();}if(_0x18c010[0x0]==='2'&&this[_0x3191('0x14')][_0x3191('0x17')]){logger[_0x3191('0x10')](_0x3191('0x18'),_0x34b937,'One\x20Time\x20already\x20sent');return _0x3d00f9[_0x3191('0x16')]();}var _0x5f4a6c={'ContactId':this[_0x3191('0x19')]['id'],'sentAt':moment()[_0x3191('0x1a')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x3191('0x1b')};if(this[_0x3191('0xd')]===_0x3191('0x1c')){_0x5f4a6c[_0x3191('0xe')]=utils['getMustacheRender'](_0x18c010[0x2],this);}else{_0x5f4a6c[_0x3191('0xe')]=utils[_0x3191('0x1d')](_0x18c010[0x1],this);}if(this[_0x3191('0x1e')]){_0x5f4a6c['to']=this[_0x3191('0x1e')][_0x3191('0x1f')]||'';if(this[_0x3191('0xd')]==='mail'&&_0x18c010[0x1]==='1'){_0x5f4a6c['cc']=this[_0x3191('0x1e')]['cc']||'';}_0x5f4a6c[_0x3191('0x1f')]=this[_0x3191('0x1e')]['to']||'';_0x5f4a6c['phone']=this[_0x3191('0x1e')]['phone']||'';_0x5f4a6c[_0x3191('0x20')]=!![];if(this[_0x3191('0x1e')][_0x3191('0x21')]){_0x5f4a6c[_0x3191('0x21')]='';_0x5f4a6c[_0x3191('0x21')]+=_[_0x3191('0x22')](this[_0x3191('0x1e')]['subject'],'Re:')?'':_0x3191('0x23');_0x5f4a6c[_0x3191('0x21')]+=this['message'][_0x3191('0x21')];}}if(this[_0x3191('0xd')]===_0x3191('0x24')){_0x5f4a6c[_0x3191('0x25')]=this[_0x3191('0x26')]['id'];}else{_0x5f4a6c[_[_0x3191('0x27')](this[_0x3191('0xd')])+_0x3191('0x28')]=this[_0x3191('0x26')]['id'];}_0x5f4a6c[_['upperFirst'](this[_0x3191('0xd')])+_0x3191('0x29')]=this[_0x3191('0x14')]['id'];var _0xa892e8=this[_0x3191('0x14')];if(rpc[this['channel']+_0x3191('0x2a')]){if(this[_0x3191('0xd')]===_0x3191('0x1c')){_0x5f4a6c[_0x3191('0x2b')]=this['message']['messageId'];_0x5f4a6c[_0x3191('0x2c')]=_0x3191('0x2d')+_[_0x3191('0x2e')](_0x5f4a6c[_0x3191('0xe')],_0x3191('0x2f'),_0x3191('0x30'))+'</div>';_0x5f4a6c['headers']={'Auto-Submitted':_0x3191('0x31'),'X-Auto-Response-Suppress':_0x3191('0x32'),'Precedence':_0x3191('0x33')};return mailRpc[_0x3191('0x34')](this['account']['smtpOptions'],_0x5f4a6c)[_0x3191('0x35')](function(_0x300abc){logger[_0x3191('0x10')](_0x3191('0x36'),_0x34b937);_0x5f4a6c[_0x3191('0x37')]=_0x300abc[_0x3191('0x1e')][_0x3191('0x37')];return rpc[_0x318763+_0x3191('0x2a')][_0x3191('0x38')](_0x5f4a6c);})[_0x3191('0x35')](function(_0x342823){logger['info'](_0x3191('0x11'),_0x34b937,JSON[_0x3191('0x39')](_0x342823));})[_0x3191('0x3a')](function(_0x18a9a6){logger[_0x3191('0x3b')](_0x3191('0x3c'),_0x34b937,JSON[_0x3191('0x39')](_0x18a9a6));})['finally'](function(){Promise['resolve']()['then'](function(){if(_0x18c010[0x0]!=='2'||_0xa892e8[_0x3191('0x17')])return;return rpc[_0x318763+'Interaction'][_0x3191('0x3d')](_0xa892e8['id'],{'autoreplyExecuted':!![]})['then'](function(_0x3d4fe8){logger[_0x3191('0x10')]('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x34b937,JSON[_0x3191('0x39')](_0x3d4fe8));})[_0x3191('0x3a')](function(_0x2c7086){logger[_0x3191('0x3b')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x34b937,JSON[_0x3191('0x39')](_0x2c7086));});})['then'](function(){_0x3d00f9['next']();});});}else{return rpc[this[_0x3191('0xd')]+'Message'][_0x3191('0x38')](_0x5f4a6c)['then'](function(){logger[_0x3191('0x10')](_0x3191('0x11'),_0x34b937,_0x5f4a6c[_0x3191('0xe')]);})[_0x3191('0x3a')](function(_0xa740e){logger[_0x3191('0x3b')](_0x3191('0x11'),_0x34b937,JSON[_0x3191('0x39')](_0xa740e));})[_0x3191('0x3e')](function(){Promise[_0x3191('0x3f')]()[_0x3191('0x35')](function(){if(_0x18c010[0x0]!=='2'||_0xa892e8[_0x3191('0x17')])return;return rpc[_0x318763+_0x3191('0x40')]['update'](_0xa892e8['id'],{'autoreplyExecuted':!![]})[_0x3191('0x35')](function(_0x27d758){logger[_0x3191('0x10')](_0x3191('0x18'),_0x34b937,JSON['stringify'](_0x27d758));})[_0x3191('0x3a')](function(_0x131ded){logger[_0x3191('0x3b')](_0x3191('0x41'),_0x34b937,JSON[_0x3191('0x39')](_0x131ded));});})[_0x3191('0x35')](function(){_0x3d00f9[_0x3191('0x16')]();});});}}}catch(_0x3e86c3){logger[_0x3191('0x3b')](_0x3191('0x11'),_0x34b937,JSON[_0x3191('0x39')](_0x3e86c3));_0x3d00f9[_0x3191('0x42')]();}};};