Built motion from commit 97153652.|2.6.26
[motion2.git] / server / services / routing / server / applications / strategy / util.js
index 1dabe36..b737807 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x0c1a=['msg','getMustacheRender','I\x20can\x27t\x20render\x20your\x20template','error','format','[%s][QUEUE]\x20%s','user:%s','name','emit','save','debug','[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','online','OFFLINE','Pause','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','interaction','UserId','some','channel','QueuesWaitingInteractions','agents','WaitingInteractions','removeWaitingNotification','writeLog','lodash','util','../utils','../../../../../config/logger','redis','defaults','localhost','socket.io-emitter','split','\x20interaction','account','body','queue'];(function(_0x294ca0,_0x16cc62){var _0x553603=function(_0x564f80){while(--_0x564f80){_0x294ca0['push'](_0x294ca0['shift']());}};_0x553603(++_0x16cc62);}(_0x0c1a,0x127));var _0xa0c1=function(_0x52c0d6,_0x39b9dd){_0x52c0d6=_0x52c0d6-0x0;var _0x3174d3=_0x0c1a[_0x52c0d6];return _0x3174d3;};'use strict';var _=require(_0xa0c1('0x0'));var util=require(_0xa0c1('0x1'));var utils=require(_0xa0c1('0x2'));var Redis=require('ioredis');var config=require('../../../../../config/environment');var logger=require(_0xa0c1('0x3'))('routing');config[_0xa0c1('0x4')]=_[_0xa0c1('0x5')](config[_0xa0c1('0x4')],{'host':_0xa0c1('0x6'),'port':0x18eb});var io=require(_0xa0c1('0x7'))(new Redis(config[_0xa0c1('0x4')]));function sendNotification(_0x199950,_0x2ddfd4,_0x3c0b3b,_0x1f5f8c,_0x5a9ba0,_0x11eee9){var _0x166e8f=_0x11eee9||{};var _0x119df0=_0x3c0b3b[_0xa0c1('0x8')]('.');var _0x1ec292={'uniqueid':_0x2ddfd4,'channel':_0x119df0[0x0],'id':_0x119df0[0x1],'title':_0x119df0[0x0]+_0xa0c1('0x9'),'interactionId':_0x119df0[0x2],'queue':_0x5a9ba0?_0x5a9ba0['name']:null,'sound':_0x166e8f[_0xa0c1('0xa')]['notificationSound'],'shake':_0x166e8f[_0xa0c1('0xa')]['notificationShake']};try{if(!_0x166e8f['body']){_0x166e8f[_0xa0c1('0xb')]={};}if(_0x5a9ba0){_0x166e8f[_0xa0c1('0xb')][_0xa0c1('0xc')]=_0x5a9ba0;}else if(_0x166e8f['body'][_0xa0c1('0xc')]){delete _0x166e8f[_0xa0c1('0xb')][_0xa0c1('0xc')];}_0x1ec292[_0xa0c1('0xd')]=utils[_0xa0c1('0xe')](_0x166e8f[_0xa0c1('0xa')]['notificationTemplate'],_0x166e8f);}catch(_0x58a43e){_0x1ec292[_0xa0c1('0xd')]=_0xa0c1('0xf');logger[_0xa0c1('0x10')](util[_0xa0c1('0x11')](_0xa0c1('0x12'),_0x2ddfd4,_0x58a43e['message']));}io['to'](util['format'](_0xa0c1('0x13'),_0x1f5f8c[_0xa0c1('0x14')]))[_0xa0c1('0x15')](util[_0xa0c1('0x11')]('notification:%s',_0x199950?_0xa0c1('0x16'):'remove'),_0x1ec292);}function writeLog(_0x857cc3,_0x509327,_0x135c50){return logger[_0xa0c1('0x17')](util[_0xa0c1('0x11')](_0xa0c1('0x18'),_0x857cc3,_0x509327[_0xa0c1('0x14')],_0x135c50));}exports['isAgentAvailable']=function(_0x38ea7b,_0x409a8d,_0x2ab18c,_0x306473){if(_0x409a8d[_0xa0c1('0x19')]){writeLog(_0x38ea7b,_0x409a8d,'BUSY');return![];}if(!_0x409a8d[_0xa0c1('0x1a')]){writeLog(_0x38ea7b,_0x409a8d,_0xa0c1('0x1b'));return![];}if(_0x409a8d[_0x2ab18c+_0xa0c1('0x1c')]){writeLog(_0x38ea7b,_0x409a8d,'PAUSE');return![];}if(_0x306473&&_0x409a8d[_0xa0c1('0x1d')](_0x2ab18c+_0xa0c1('0x1e'))&&_0x409a8d['hasOwnProperty'](_0x2ab18c+'CurrentCapacity')){if(_0x409a8d[_0x2ab18c+_0xa0c1('0x1e')]>0x0&&_0x409a8d[_0x2ab18c+_0xa0c1('0x1f')]>=_0x409a8d[_0x2ab18c+'Capacity']){writeLog(_0x38ea7b,_0x409a8d,_0x2ab18c[_0xa0c1('0x20')]()+_0xa0c1('0x21'));return![];}}return!![];};exports[_0xa0c1('0x22')]=function(_0x408538,_0x483936,_0x1861d5,_0x634887,_0x1602a9){return sendNotification(!![],_0x408538,_0x483936,_0x1861d5,_0x634887,_0x1602a9);};exports['hideNotification']=function(_0x30c757,_0x2fdcbe,_0x20344b,_0x3ed7b5,_0x217a5f){return sendNotification(![],_0x30c757,_0x2fdcbe,_0x20344b,_0x3ed7b5,_0x217a5f);};exports['checkWaitingNotifications']=function(_0x4a5d0b,_0x43e519,_0x369919){var _0x3be9e2=_0x43e519[_0xa0c1('0x23')][_0xa0c1('0x24')];if(!_0x3be9e2&&_0x369919){_0x3be9e2=_0x369919['id'];}var _0x12b50d=_[_0xa0c1('0x25')](_0x4a5d0b[_0x43e519[_0xa0c1('0x26')]+_0xa0c1('0x27')],function(_0x121e2a){var _0x24a5bf=_['capitalize'](_0x43e519[_0xa0c1('0x26')])+'InteractionId';return _0x121e2a[_0x24a5bf]===_0x43e519[_0xa0c1('0x23')]['id'];});if(!_0x12b50d&&_0x3be9e2&&_0x4a5d0b[_0xa0c1('0x28')][_0x3be9e2]){_0x12b50d=_['some'](_0x4a5d0b[_0xa0c1('0x28')][_0x3be9e2][_0x43e519['channel']+_0xa0c1('0x29')],function(_0x4e4498){return _0x4e4498['id']===_0x43e519['interaction']['id'];});}return _0x12b50d;};exports['saveWaitingNotification']=function(_0x4dac37,_0x123318,_0x3cc3bf,_0x1db772){if(_0x3cc3bf&&_0x3cc3bf['id']&&_0x4dac37[_0xa0c1('0x28')]&&_0x4dac37[_0xa0c1('0x28')][_0x3cc3bf['id']]){_0x4dac37[_0xa0c1('0x28')][_0x3cc3bf['id']][_0x1db772+_0xa0c1('0x29')][_0x123318['message']['id']]={'id':_0x123318[_0xa0c1('0x23')]['id']};}};exports[_0xa0c1('0x2a')]=function(_0x39c846,_0x168560,_0x464c8f,_0x26c383){if(_0x464c8f&&_0x464c8f['id']&&_0x39c846[_0xa0c1('0x28')]&&_0x39c846[_0xa0c1('0x28')][_0x464c8f['id']]){delete _0x39c846['agents'][_0x464c8f['id']][_0x26c383+_0xa0c1('0x29')][_0x168560['message']['id']];}};exports[_0xa0c1('0x2b')]=writeLog;
\ No newline at end of file
+var _0x841e=['WaitingInteractions','saveWaitingNotification','removeWaitingNotification','writeLog','lodash','util','../utils','../../../../../config/environment','redis','localhost','socket.io-emitter','split','name','account','notificationSound','notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','error','format','[%s][QUEUE]\x20%s','message','emit','notification:%s','remove','debug','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','hideNotification','checkWaitingNotifications','interaction','UserId','QueuesWaitingInteractions','channel','InteractionId','some','agents'];(function(_0x4c7dfd,_0x22a627){var _0x5f51aa=function(_0x567ee6){while(--_0x567ee6){_0x4c7dfd['push'](_0x4c7dfd['shift']());}};_0x5f51aa(++_0x22a627);}(_0x841e,0x15b));var _0xe841=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x841e[_0xa464c9];return _0x3d73c4;};'use strict';var _=require(_0xe841('0x0'));var util=require(_0xe841('0x1'));var utils=require(_0xe841('0x2'));var Redis=require('ioredis');var config=require(_0xe841('0x3'));var logger=require('../../../../../config/logger')('routing');config[_0xe841('0x4')]=_['defaults'](config['redis'],{'host':_0xe841('0x5'),'port':0x18eb});var io=require(_0xe841('0x6'))(new Redis(config[_0xe841('0x4')]));function sendNotification(_0x2c8eee,_0x238a0b,_0x5e10cd,_0x11ecdb,_0x377487,_0x51a764){var _0x1e3b8=_0x51a764||{};var _0x30bb59=_0x5e10cd[_0xe841('0x7')]('.');var _0x6d30cd={'uniqueid':_0x238a0b,'channel':_0x30bb59[0x0],'id':_0x30bb59[0x1],'title':_0x30bb59[0x0]+'\x20interaction','interactionId':_0x30bb59[0x2],'queue':_0x377487?_0x377487[_0xe841('0x8')]:null,'sound':_0x1e3b8[_0xe841('0x9')][_0xe841('0xa')],'shake':_0x1e3b8[_0xe841('0x9')][_0xe841('0xb')]};try{if(!_0x1e3b8[_0xe841('0xc')]){_0x1e3b8[_0xe841('0xc')]={};}if(_0x377487){_0x1e3b8[_0xe841('0xc')][_0xe841('0xd')]=_0x377487;}else if(_0x1e3b8[_0xe841('0xc')][_0xe841('0xd')]){delete _0x1e3b8[_0xe841('0xc')][_0xe841('0xd')];}_0x6d30cd[_0xe841('0xe')]=utils[_0xe841('0xf')](_0x1e3b8[_0xe841('0x9')][_0xe841('0x10')],_0x1e3b8);}catch(_0x2f3929){_0x6d30cd[_0xe841('0xe')]='I\x20can\x27t\x20render\x20your\x20template';logger[_0xe841('0x11')](util[_0xe841('0x12')](_0xe841('0x13'),_0x238a0b,_0x2f3929[_0xe841('0x14')]));}io['to'](util['format']('user:%s',_0x11ecdb[_0xe841('0x8')]))[_0xe841('0x15')](util['format'](_0xe841('0x16'),_0x2c8eee?'save':_0xe841('0x17')),_0x6d30cd);}function writeLog(_0x2b5543,_0x201c4c,_0x3eb535){return logger[_0xe841('0x18')](util['format'](_0xe841('0x19'),_0x2b5543,_0x201c4c[_0xe841('0x8')],_0x3eb535));}exports[_0xe841('0x1a')]=function(_0xce9fcf,_0x383609,_0x8e1748,_0x279a86){if(_0x383609[_0xe841('0x1b')]){writeLog(_0xce9fcf,_0x383609,_0xe841('0x1c'));return![];}if(!_0x383609[_0xe841('0x1d')]){writeLog(_0xce9fcf,_0x383609,_0xe841('0x1e'));return![];}if(_0x383609[_0x8e1748+_0xe841('0x1f')]){writeLog(_0xce9fcf,_0x383609,_0xe841('0x20'));return![];}if(_0x279a86&&_0x383609[_0xe841('0x21')](_0x8e1748+_0xe841('0x22'))&&_0x383609[_0xe841('0x21')](_0x8e1748+_0xe841('0x23'))){if(_0x383609[_0x8e1748+_0xe841('0x22')]>0x0&&_0x383609[_0x8e1748+_0xe841('0x23')]>=_0x383609[_0x8e1748+_0xe841('0x22')]){writeLog(_0xce9fcf,_0x383609,_0x8e1748['toUpperCase']()+'\x20MAXCAPACITY');return![];}}return!![];};exports['showNotification']=function(_0x42a9af,_0x56c7a5,_0x21f392,_0x58a7b0,_0x2c5fc1){return sendNotification(!![],_0x42a9af,_0x56c7a5,_0x21f392,_0x58a7b0,_0x2c5fc1);};exports[_0xe841('0x24')]=function(_0x5bdba6,_0xbb5458,_0x4c0c06,_0x12109d,_0x1dda27){return sendNotification(![],_0x5bdba6,_0xbb5458,_0x4c0c06,_0x12109d,_0x1dda27);};exports[_0xe841('0x25')]=function(_0x5cfb06,_0x3a8d2b,_0x406d88){var _0x5da558=_0x3a8d2b[_0xe841('0x26')][_0xe841('0x27')];if(!_0x5da558&&_0x406d88){_0x5da558=_0x406d88['id'];}var _0x1f25c4=_['some'](_0x5cfb06[_0x3a8d2b['channel']+_0xe841('0x28')],function(_0x17c9c4){var _0x3dcc24=_['capitalize'](_0x3a8d2b[_0xe841('0x29')])+_0xe841('0x2a');return _0x17c9c4[_0x3dcc24]===_0x3a8d2b['interaction']['id'];});if(!_0x1f25c4&&_0x5da558&&_0x5cfb06['agents'][_0x5da558]){_0x1f25c4=_[_0xe841('0x2b')](_0x5cfb06[_0xe841('0x2c')][_0x5da558][_0x3a8d2b['channel']+_0xe841('0x2d')],function(_0x4fd3d5){return _0x4fd3d5['id']===_0x3a8d2b[_0xe841('0x26')]['id'];});}return _0x1f25c4;};exports[_0xe841('0x2e')]=function(_0x52d25b,_0x22eb1d,_0x1d10c,_0x273db0){if(_0x1d10c&&_0x1d10c['id']&&_0x52d25b['agents']&&_0x52d25b['agents'][_0x1d10c['id']]){_0x52d25b['agents'][_0x1d10c['id']][_0x273db0+_0xe841('0x2d')][_0x22eb1d[_0xe841('0x14')]['id']]={'id':_0x22eb1d[_0xe841('0x26')]['id']};}};exports[_0xe841('0x2f')]=function(_0x3771d4,_0x553687,_0x3219c4,_0x186d9c){if(_0x3219c4&&_0x3219c4['id']&&_0x3771d4[_0xe841('0x2c')]&&_0x3771d4['agents'][_0x3219c4['id']]){delete _0x3771d4['agents'][_0x3219c4['id']][_0x186d9c+_0xe841('0x2d')][_0x553687['message']['id']];}};exports[_0xe841('0x30')]=writeLog;
\ No newline at end of file