Built motion from commit 5293bb2a.|2.6.30
[motion2.git] / server / services / routing / server / applications / strategy / util.js
index 04fffb5..0678425 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe4ce=['busy','online','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','checkWaitingNotifications','UserId','channel','QueuesWaitingInteractions','capitalize','InteractionId','agents','WaitingInteractions','interaction','removeWaitingNotification','writeLog','util','../utils','ioredis','../../../../../config/environment','redis','localhost','socket.io-emitter','split','\x20interaction','account','notificationShake','body','queue','msg','error','format','message','name','emit','notification:%s','save','remove','debug','isAgentAvailable'];(function(_0x486ed3,_0x5d4e97){var _0x15c28f=function(_0x5df297){while(--_0x5df297){_0x486ed3['push'](_0x486ed3['shift']());}};_0x15c28f(++_0x5d4e97);}(_0xe4ce,0x131));var _0xee4c=function(_0x241cfb,_0x19366e){_0x241cfb=_0x241cfb-0x0;var _0x14218f=_0xe4ce[_0x241cfb];return _0x14218f;};'use strict';var _=require('lodash');var util=require(_0xee4c('0x0'));var utils=require(_0xee4c('0x1'));var Redis=require(_0xee4c('0x2'));var config=require(_0xee4c('0x3'));var logger=require('../../../../../config/logger')('routing');config[_0xee4c('0x4')]=_['defaults'](config['redis'],{'host':_0xee4c('0x5'),'port':0x18eb});var io=require(_0xee4c('0x6'))(new Redis(config['redis']));function sendNotification(_0x760559,_0x4fbe44,_0x2d04f2,_0x3f48f2,_0x13ed9a,_0x99bd8){var _0x151bdf=_0x99bd8||{};var _0x171e01=_0x2d04f2[_0xee4c('0x7')]('.');var _0x8816b={'uniqueid':_0x4fbe44,'channel':_0x171e01[0x0],'id':_0x171e01[0x1],'title':_0x171e01[0x0]+_0xee4c('0x8'),'interactionId':_0x171e01[0x2],'queue':_0x13ed9a?_0x13ed9a['name']:null,'sound':_0x151bdf[_0xee4c('0x9')]['notificationSound'],'shake':_0x151bdf[_0xee4c('0x9')][_0xee4c('0xa')]};try{if(!_0x151bdf['body']){_0x151bdf[_0xee4c('0xb')]={};}if(_0x13ed9a){_0x151bdf[_0xee4c('0xb')][_0xee4c('0xc')]=_0x13ed9a;}else if(_0x151bdf[_0xee4c('0xb')][_0xee4c('0xc')]){delete _0x151bdf['body'][_0xee4c('0xc')];}_0x8816b[_0xee4c('0xd')]=utils['getMustacheRender'](_0x151bdf[_0xee4c('0x9')]['notificationTemplate'],_0x151bdf);}catch(_0x42b909){_0x8816b['msg']='I\x20can\x27t\x20render\x20your\x20template';logger[_0xee4c('0xe')](util[_0xee4c('0xf')]('[%s][QUEUE]\x20%s',_0x4fbe44,_0x42b909[_0xee4c('0x10')]));}io['to'](util[_0xee4c('0xf')]('user:%s',_0x3f48f2[_0xee4c('0x11')]))[_0xee4c('0x12')](util[_0xee4c('0xf')](_0xee4c('0x13'),_0x760559?_0xee4c('0x14'):_0xee4c('0x15')),_0x8816b);}function writeLog(_0x486b32,_0x4e8886,_0x3965a5){return logger[_0xee4c('0x16')](util[_0xee4c('0xf')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x486b32,_0x4e8886['name'],_0x3965a5));}exports[_0xee4c('0x17')]=function(_0x2fde01,_0x129446,_0x4e264b,_0x5e004e){if(_0x129446[_0xee4c('0x18')]){writeLog(_0x2fde01,_0x129446,'BUSY');return![];}if(!_0x129446[_0xee4c('0x19')]){writeLog(_0x2fde01,_0x129446,_0xee4c('0x1a'));return![];}if(_0x129446[_0x4e264b+_0xee4c('0x1b')]){writeLog(_0x2fde01,_0x129446,_0xee4c('0x1c'));return![];}if(_0x5e004e&&_0x129446[_0xee4c('0x1d')](_0x4e264b+_0xee4c('0x1e'))&&_0x129446[_0xee4c('0x1d')](_0x4e264b+_0xee4c('0x1f'))){if(_0x129446[_0x4e264b+_0xee4c('0x1e')]>0x0&&_0x129446[_0x4e264b+_0xee4c('0x1f')]>=_0x129446[_0x4e264b+'Capacity']){writeLog(_0x2fde01,_0x129446,_0x4e264b[_0xee4c('0x20')]()+_0xee4c('0x21'));return![];}}return!![];};exports[_0xee4c('0x22')]=function(_0x36a21c,_0x285a66,_0x3ba9d1,_0x1970b,_0x1c8cda){return sendNotification(!![],_0x36a21c,_0x285a66,_0x3ba9d1,_0x1970b,_0x1c8cda);};exports[_0xee4c('0x23')]=function(_0xd6ec84,_0x185762,_0x2fa82b,_0x5c220d,_0x2ca891){return sendNotification(![],_0xd6ec84,_0x185762,_0x2fa82b,_0x5c220d,_0x2ca891);};exports[_0xee4c('0x24')]=function(_0x182f93,_0x56129c,_0x5e298a){var _0x37dfb7=_0x56129c['interaction'][_0xee4c('0x25')];if(!_0x37dfb7&&_0x5e298a){_0x37dfb7=_0x5e298a['id'];}var _0xb6457f=_['some'](_0x182f93[_0x56129c[_0xee4c('0x26')]+_0xee4c('0x27')],function(_0x48740d){var _0x194493=_[_0xee4c('0x28')](_0x56129c['channel'])+_0xee4c('0x29');return _0x48740d[_0x194493]===_0x56129c['interaction']['id'];});if(!_0xb6457f&&_0x37dfb7&&_0x182f93[_0xee4c('0x2a')][_0x37dfb7]){_0xb6457f=_['some'](_0x182f93[_0xee4c('0x2a')][_0x37dfb7][_0x56129c[_0xee4c('0x26')]+_0xee4c('0x2b')],function(_0x5399ec){return _0x5399ec['id']===_0x56129c[_0xee4c('0x2c')]['id'];});}return _0xb6457f;};exports['saveWaitingNotification']=function(_0x379c9e,_0x5c7bf3,_0x5bd31d,_0xe200bd){if(_0x5bd31d&&_0x5bd31d['id']&&_0x379c9e[_0xee4c('0x2a')]&&_0x379c9e[_0xee4c('0x2a')][_0x5bd31d['id']]){_0x379c9e['agents'][_0x5bd31d['id']][_0xe200bd+_0xee4c('0x2b')][_0x5c7bf3[_0xee4c('0x10')]['id']]={'id':_0x5c7bf3[_0xee4c('0x2c')]['id']};}};exports[_0xee4c('0x2d')]=function(_0x186747,_0x1e91f8,_0x452f5c,_0x5ceace){if(_0x452f5c&&_0x452f5c['id']&&_0x186747['agents']&&_0x186747[_0xee4c('0x2a')][_0x452f5c['id']]){delete _0x186747[_0xee4c('0x2a')][_0x452f5c['id']][_0x5ceace+_0xee4c('0x2b')][_0x1e91f8[_0xee4c('0x10')]['id']];}};exports[_0xee4c('0x2e')]=writeLog;
\ No newline at end of file
+var _0xd3e7=['some','QueuesWaitingInteractions','capitalize','channel','InteractionId','agents','WaitingInteractions','saveWaitingNotification','removeWaitingNotification','lodash','../utils','../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','\x20interaction','name','notificationShake','body','queue','I\x20can\x27t\x20render\x20your\x20template','error','format','[%s][QUEUE]\x20%s','message','emit','notification:%s','save','remove','debug','isAgentAvailable','BUSY','online','OFFLINE','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','interaction','UserId'];(function(_0x44aa01,_0x3a4f45){var _0x24bf84=function(_0x24deba){while(--_0x24deba){_0x44aa01['push'](_0x44aa01['shift']());}};_0x24bf84(++_0x3a4f45);}(_0xd3e7,0xb9));var _0x7d3e=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xd3e7[_0x321bb2];return _0x9c12ed;};'use strict';var _=require(_0x7d3e('0x0'));var util=require('util');var utils=require(_0x7d3e('0x1'));var Redis=require('ioredis');var config=require('../../../../../config/environment');var logger=require(_0x7d3e('0x2'))(_0x7d3e('0x3'));config[_0x7d3e('0x4')]=_[_0x7d3e('0x5')](config['redis'],{'host':_0x7d3e('0x6'),'port':0x18eb});var io=require(_0x7d3e('0x7'))(new Redis(config['redis']));function sendNotification(_0x1fc252,_0x356df3,_0x588503,_0x459d90,_0x9513dd,_0x322e34){var _0x49efe2=_0x322e34||{};var _0x1283ce=_0x588503['split']('.');var _0x1cb227={'uniqueid':_0x356df3,'channel':_0x1283ce[0x0],'id':_0x1283ce[0x1],'title':_0x1283ce[0x0]+_0x7d3e('0x8'),'interactionId':_0x1283ce[0x2],'queue':_0x9513dd?_0x9513dd[_0x7d3e('0x9')]:null,'sound':_0x49efe2['account']['notificationSound'],'shake':_0x49efe2['account'][_0x7d3e('0xa')]};try{if(!_0x49efe2[_0x7d3e('0xb')]){_0x49efe2['body']={};}if(_0x9513dd){_0x49efe2[_0x7d3e('0xb')][_0x7d3e('0xc')]=_0x9513dd;}else if(_0x49efe2[_0x7d3e('0xb')][_0x7d3e('0xc')]){delete _0x49efe2['body'][_0x7d3e('0xc')];}_0x1cb227['msg']=utils['getMustacheRender'](_0x49efe2['account']['notificationTemplate'],_0x49efe2);}catch(_0x463dc1){_0x1cb227['msg']=_0x7d3e('0xd');logger[_0x7d3e('0xe')](util[_0x7d3e('0xf')](_0x7d3e('0x10'),_0x356df3,_0x463dc1[_0x7d3e('0x11')]));}io['to'](util['format']('user:%s',_0x459d90[_0x7d3e('0x9')]))[_0x7d3e('0x12')](util['format'](_0x7d3e('0x13'),_0x1fc252?_0x7d3e('0x14'):_0x7d3e('0x15')),_0x1cb227);}function writeLog(_0x2c6ae,_0x448f84,_0x231653){return logger[_0x7d3e('0x16')](util[_0x7d3e('0xf')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x2c6ae,_0x448f84[_0x7d3e('0x9')],_0x231653));}exports[_0x7d3e('0x17')]=function(_0x1a3182,_0x1fe449,_0x142c8a,_0x331252){if(_0x1fe449['busy']){writeLog(_0x1a3182,_0x1fe449,_0x7d3e('0x18'));return![];}if(!_0x1fe449[_0x7d3e('0x19')]){writeLog(_0x1a3182,_0x1fe449,_0x7d3e('0x1a'));return![];}if(_0x1fe449[_0x142c8a+'Pause']){writeLog(_0x1a3182,_0x1fe449,_0x7d3e('0x1b'));return![];}if(_0x331252&&_0x1fe449[_0x7d3e('0x1c')](_0x142c8a+_0x7d3e('0x1d'))&&_0x1fe449['hasOwnProperty'](_0x142c8a+_0x7d3e('0x1e'))){if(_0x1fe449[_0x142c8a+'Capacity']>0x0&&_0x1fe449[_0x142c8a+_0x7d3e('0x1e')]>=_0x1fe449[_0x142c8a+_0x7d3e('0x1d')]){writeLog(_0x1a3182,_0x1fe449,_0x142c8a[_0x7d3e('0x1f')]()+_0x7d3e('0x20'));return![];}}return!![];};exports['showNotification']=function(_0x56734e,_0x35056f,_0x273f2c,_0x960cf4,_0x45490b){return sendNotification(!![],_0x56734e,_0x35056f,_0x273f2c,_0x960cf4,_0x45490b);};exports['hideNotification']=function(_0x399a15,_0x5ca798,_0xd7ba93,_0x2f5a92,_0x2e5d59){return sendNotification(![],_0x399a15,_0x5ca798,_0xd7ba93,_0x2f5a92,_0x2e5d59);};exports['checkWaitingNotifications']=function(_0x117faf,_0x1191bd,_0x3bb5c1){var _0xa5b344=_0x1191bd[_0x7d3e('0x21')][_0x7d3e('0x22')];if(!_0xa5b344&&_0x3bb5c1){_0xa5b344=_0x3bb5c1['id'];}var _0x5501a5=_[_0x7d3e('0x23')](_0x117faf[_0x1191bd['channel']+_0x7d3e('0x24')],function(_0x44d6b7){var _0x1dd0ca=_[_0x7d3e('0x25')](_0x1191bd[_0x7d3e('0x26')])+_0x7d3e('0x27');return _0x44d6b7[_0x1dd0ca]===_0x1191bd[_0x7d3e('0x21')]['id'];});if(!_0x5501a5&&_0xa5b344&&_0x117faf['agents'][_0xa5b344]){_0x5501a5=_[_0x7d3e('0x23')](_0x117faf[_0x7d3e('0x28')][_0xa5b344][_0x1191bd['channel']+_0x7d3e('0x29')],function(_0x2a8572){return _0x2a8572['id']===_0x1191bd['interaction']['id'];});}return _0x5501a5;};exports[_0x7d3e('0x2a')]=function(_0x3717d0,_0x280630,_0x1abc6a,_0x3f0e31){if(_0x1abc6a&&_0x1abc6a['id']&&_0x3717d0[_0x7d3e('0x28')]&&_0x3717d0[_0x7d3e('0x28')][_0x1abc6a['id']]){_0x3717d0['agents'][_0x1abc6a['id']][_0x3f0e31+_0x7d3e('0x29')][_0x280630[_0x7d3e('0x11')]['id']]={'id':_0x280630[_0x7d3e('0x21')]['id']};}};exports[_0x7d3e('0x2b')]=function(_0x4c6c9b,_0x3f0832,_0x2e227e,_0x2d011b){if(_0x2e227e&&_0x2e227e['id']&&_0x4c6c9b[_0x7d3e('0x28')]&&_0x4c6c9b[_0x7d3e('0x28')][_0x2e227e['id']]){delete _0x4c6c9b[_0x7d3e('0x28')][_0x2e227e['id']][_0x2d011b+_0x7d3e('0x29')][_0x3f0832['message']['id']];}};exports['writeLog']=writeLog;
\ No newline at end of file