Built motion from commit 4d4d9a88.|2.6.26
[motion2.git] / server / services / routing / server / applications / strategy / util.js
index 148d8c6..0ac7cef 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6a8a=['[%s][QUEUE]\x20%s','message','emit','notification:%s','save','debug','busy','OFFLINE','Pause','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','hideNotification','interaction','UserId','channel','QueuesWaitingInteractions','capitalize','InteractionId','agents','some','WaitingInteractions','writeLog','util','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','localhost','socket.io-emitter','split','\x20interaction','account','notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','format'];(function(_0x111bed,_0x109f8f){var _0x578935=function(_0x1a69eb){while(--_0x1a69eb){_0x111bed['push'](_0x111bed['shift']());}};_0x578935(++_0x109f8f);}(_0x6a8a,0x1e6));var _0xa6a8=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x6a8a[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require(_0xa6a8('0x0'));var utils=require('../utils');var Redis=require(_0xa6a8('0x1'));var config=require(_0xa6a8('0x2'));var logger=require(_0xa6a8('0x3'))(_0xa6a8('0x4'));config[_0xa6a8('0x5')]=_['defaults'](config[_0xa6a8('0x5')],{'host':_0xa6a8('0x6'),'port':0x18eb});var io=require(_0xa6a8('0x7'))(new Redis(config['redis']));function sendNotification(_0x2b88fc,_0x3f594d,_0x411515,_0x49083c,_0x539886,_0x51c35e){var _0x24f265=_0x51c35e||{};var _0x3a7155=_0x411515[_0xa6a8('0x8')]('.');var _0x337ff0={'uniqueid':_0x3f594d,'channel':_0x3a7155[0x0],'id':_0x3a7155[0x1],'title':_0x3a7155[0x0]+_0xa6a8('0x9'),'interactionId':_0x3a7155[0x2],'queue':_0x539886?_0x539886['name']:null,'sound':_0x24f265['account']['notificationSound'],'shake':_0x24f265[_0xa6a8('0xa')][_0xa6a8('0xb')]};try{if(!_0x24f265[_0xa6a8('0xc')]){_0x24f265[_0xa6a8('0xc')]={};}if(_0x539886){_0x24f265['body'][_0xa6a8('0xd')]=_0x539886;}else if(_0x24f265[_0xa6a8('0xc')][_0xa6a8('0xd')]){delete _0x24f265[_0xa6a8('0xc')][_0xa6a8('0xd')];}_0x337ff0[_0xa6a8('0xe')]=utils[_0xa6a8('0xf')](_0x24f265[_0xa6a8('0xa')][_0xa6a8('0x10')],_0x24f265);}catch(_0x582b9e){_0x337ff0['msg']=_0xa6a8('0x11');logger[_0xa6a8('0x12')](util[_0xa6a8('0x13')](_0xa6a8('0x14'),_0x3f594d,_0x582b9e[_0xa6a8('0x15')]));}io['to'](util[_0xa6a8('0x13')]('user:%s',_0x49083c['name']))[_0xa6a8('0x16')](util['format'](_0xa6a8('0x17'),_0x2b88fc?_0xa6a8('0x18'):'remove'),_0x337ff0);}function writeLog(_0x1baa8e,_0x5091cd,_0x28b6ed){return logger[_0xa6a8('0x19')](util[_0xa6a8('0x13')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x1baa8e,_0x5091cd['name'],_0x28b6ed));}exports['isAgentAvailable']=function(_0x3bec47,_0x595c55,_0x85ceb0,_0x2a74ba){if(_0x595c55[_0xa6a8('0x1a')]){writeLog(_0x3bec47,_0x595c55,'BUSY');return![];}if(!_0x595c55['online']){writeLog(_0x3bec47,_0x595c55,_0xa6a8('0x1b'));return![];}if(_0x595c55[_0x85ceb0+_0xa6a8('0x1c')]){writeLog(_0x3bec47,_0x595c55,_0xa6a8('0x1d'));return![];}if(_0x2a74ba&&_0x595c55[_0xa6a8('0x1e')](_0x85ceb0+'Capacity')&&_0x595c55[_0xa6a8('0x1e')](_0x85ceb0+_0xa6a8('0x1f'))){if(_0x595c55[_0x85ceb0+_0xa6a8('0x20')]>0x0&&_0x595c55[_0x85ceb0+'CurrentCapacity']>=_0x595c55[_0x85ceb0+_0xa6a8('0x20')]){writeLog(_0x3bec47,_0x595c55,_0x85ceb0[_0xa6a8('0x21')]()+_0xa6a8('0x22'));return![];}}return!![];};exports['showNotification']=function(_0x26d819,_0x229e59,_0x4efcb1,_0x33f8c2,_0x1646b7){return sendNotification(!![],_0x26d819,_0x229e59,_0x4efcb1,_0x33f8c2,_0x1646b7);};exports[_0xa6a8('0x23')]=function(_0x502a2e,_0xd95f4f,_0x7bbcc4,_0x4b25a1,_0x3bd725){return sendNotification(![],_0x502a2e,_0xd95f4f,_0x7bbcc4,_0x4b25a1,_0x3bd725);};exports['checkWaitingNotifications']=function(_0x2cf587,_0x491dcf,_0x2a2801){var _0x39f3a3=_0x491dcf[_0xa6a8('0x24')][_0xa6a8('0x25')];if(!_0x39f3a3&&_0x2a2801){_0x39f3a3=_0x2a2801['id'];}var _0x235ba5=_['some'](_0x2cf587[_0x491dcf[_0xa6a8('0x26')]+_0xa6a8('0x27')],function(_0x556472){var _0x2bf22b=_[_0xa6a8('0x28')](_0x491dcf[_0xa6a8('0x26')])+_0xa6a8('0x29');return _0x556472[_0x2bf22b]===_0x491dcf[_0xa6a8('0x24')]['id'];});if(!_0x235ba5&&_0x39f3a3&&_0x2cf587[_0xa6a8('0x2a')][_0x39f3a3]){_0x235ba5=_[_0xa6a8('0x2b')](_0x2cf587[_0xa6a8('0x2a')][_0x39f3a3][_0x491dcf['channel']+'WaitingInteractions'],function(_0x21a332){return _0x21a332['id']===_0x491dcf[_0xa6a8('0x24')]['id'];});}return _0x235ba5;};exports['saveWaitingNotification']=function(_0x4f90be,_0x123520,_0x217936,_0x48d16c){if(_0x217936&&_0x217936['id']&&_0x4f90be[_0xa6a8('0x2a')]&&_0x4f90be[_0xa6a8('0x2a')][_0x217936['id']]){_0x4f90be[_0xa6a8('0x2a')][_0x217936['id']][_0x48d16c+_0xa6a8('0x2c')][_0x123520[_0xa6a8('0x15')]['id']]={'id':_0x123520[_0xa6a8('0x24')]['id']};}};exports['removeWaitingNotification']=function(_0x898d21,_0x34df2b,_0x2fdef9,_0x19249f){if(_0x2fdef9&&_0x2fdef9['id']&&_0x898d21[_0xa6a8('0x2a')]&&_0x898d21[_0xa6a8('0x2a')][_0x2fdef9['id']]){delete _0x898d21[_0xa6a8('0x2a')][_0x2fdef9['id']][_0x19249f+_0xa6a8('0x2c')][_0x34df2b[_0xa6a8('0x15')]['id']];}};exports[_0xa6a8('0x2d')]=writeLog;
\ No newline at end of file
+var _0x1d21=['Pause','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','showNotification','checkWaitingNotifications','interaction','some','channel','QueuesWaitingInteractions','capitalize','InteractionId','agents','saveWaitingNotification','WaitingInteractions','removeWaitingNotification','writeLog','lodash','util','../utils','ioredis','../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','split','\x20interaction','name','notificationSound','account','notificationShake','body','queue','msg','getMustacheRender','error','format','[%s][QUEUE]\x20%s','message','user:%s','emit','notification:%s','save','remove','debug','isAgentAvailable','busy','BUSY','OFFLINE'];(function(_0x41b6b1,_0x11a412){var _0x37385f=function(_0x584901){while(--_0x584901){_0x41b6b1['push'](_0x41b6b1['shift']());}};_0x37385f(++_0x11a412);}(_0x1d21,0x158));var _0x11d2=function(_0x4e518d,_0x32a45d){_0x4e518d=_0x4e518d-0x0;var _0x458ff2=_0x1d21[_0x4e518d];return _0x458ff2;};'use strict';var _=require(_0x11d2('0x0'));var util=require(_0x11d2('0x1'));var utils=require(_0x11d2('0x2'));var Redis=require(_0x11d2('0x3'));var config=require('../../../../../config/environment');var logger=require(_0x11d2('0x4'))(_0x11d2('0x5'));config[_0x11d2('0x6')]=_[_0x11d2('0x7')](config['redis'],{'host':_0x11d2('0x8'),'port':0x18eb});var io=require(_0x11d2('0x9'))(new Redis(config[_0x11d2('0x6')]));function sendNotification(_0x21a2d3,_0x1eb6ca,_0x185dc4,_0x3a3713,_0x4d8792,_0xd6d34c){var _0x7f0625=_0xd6d34c||{};var _0x5d88b8=_0x185dc4[_0x11d2('0xa')]('.');var _0x56baa2={'uniqueid':_0x1eb6ca,'channel':_0x5d88b8[0x0],'id':_0x5d88b8[0x1],'title':_0x5d88b8[0x0]+_0x11d2('0xb'),'interactionId':_0x5d88b8[0x2],'queue':_0x4d8792?_0x4d8792[_0x11d2('0xc')]:null,'sound':_0x7f0625['account'][_0x11d2('0xd')],'shake':_0x7f0625[_0x11d2('0xe')][_0x11d2('0xf')]};try{if(!_0x7f0625[_0x11d2('0x10')]){_0x7f0625['body']={};}if(_0x4d8792){_0x7f0625['body'][_0x11d2('0x11')]=_0x4d8792;}else if(_0x7f0625[_0x11d2('0x10')][_0x11d2('0x11')]){delete _0x7f0625['body'][_0x11d2('0x11')];}_0x56baa2[_0x11d2('0x12')]=utils[_0x11d2('0x13')](_0x7f0625[_0x11d2('0xe')]['notificationTemplate'],_0x7f0625);}catch(_0xf78df5){_0x56baa2[_0x11d2('0x12')]='I\x20can\x27t\x20render\x20your\x20template';logger[_0x11d2('0x14')](util[_0x11d2('0x15')](_0x11d2('0x16'),_0x1eb6ca,_0xf78df5[_0x11d2('0x17')]));}io['to'](util[_0x11d2('0x15')](_0x11d2('0x18'),_0x3a3713[_0x11d2('0xc')]))[_0x11d2('0x19')](util[_0x11d2('0x15')](_0x11d2('0x1a'),_0x21a2d3?_0x11d2('0x1b'):_0x11d2('0x1c')),_0x56baa2);}function writeLog(_0x3e0721,_0x58730a,_0x4a0102){return logger[_0x11d2('0x1d')](util[_0x11d2('0x15')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x3e0721,_0x58730a[_0x11d2('0xc')],_0x4a0102));}exports[_0x11d2('0x1e')]=function(_0xdac2d,_0x1e5078,_0xc7ff13,_0x4df652){if(_0x1e5078[_0x11d2('0x1f')]){writeLog(_0xdac2d,_0x1e5078,_0x11d2('0x20'));return![];}if(!_0x1e5078['online']){writeLog(_0xdac2d,_0x1e5078,_0x11d2('0x21'));return![];}if(_0x1e5078[_0xc7ff13+_0x11d2('0x22')]){writeLog(_0xdac2d,_0x1e5078,_0x11d2('0x23'));return![];}if(_0x4df652&&_0x1e5078[_0x11d2('0x24')](_0xc7ff13+'Capacity')&&_0x1e5078[_0x11d2('0x24')](_0xc7ff13+_0x11d2('0x25'))){if(_0x1e5078[_0xc7ff13+_0x11d2('0x26')]>0x0&&_0x1e5078[_0xc7ff13+_0x11d2('0x25')]>=_0x1e5078[_0xc7ff13+_0x11d2('0x26')]){writeLog(_0xdac2d,_0x1e5078,_0xc7ff13[_0x11d2('0x27')]()+_0x11d2('0x28'));return![];}}return!![];};exports[_0x11d2('0x29')]=function(_0x5dd42a,_0x203ec4,_0xfecd81,_0x51f474,_0x41e9af){return sendNotification(!![],_0x5dd42a,_0x203ec4,_0xfecd81,_0x51f474,_0x41e9af);};exports['hideNotification']=function(_0x5ef7ba,_0x3b3c59,_0x4cb6d4,_0x9a635a,_0x39aac9){return sendNotification(![],_0x5ef7ba,_0x3b3c59,_0x4cb6d4,_0x9a635a,_0x39aac9);};exports[_0x11d2('0x2a')]=function(_0x426523,_0x1eeca4,_0x215c54){var _0x143a9d=_0x1eeca4[_0x11d2('0x2b')]['UserId'];if(!_0x143a9d&&_0x215c54){_0x143a9d=_0x215c54['id'];}var _0x190fd2=_[_0x11d2('0x2c')](_0x426523[_0x1eeca4[_0x11d2('0x2d')]+_0x11d2('0x2e')],function(_0x3bbe1a){var _0x28f56b=_[_0x11d2('0x2f')](_0x1eeca4[_0x11d2('0x2d')])+_0x11d2('0x30');return _0x3bbe1a[_0x28f56b]===_0x1eeca4[_0x11d2('0x2b')]['id'];});if(!_0x190fd2&&_0x143a9d&&_0x426523[_0x11d2('0x31')][_0x143a9d]){_0x190fd2=_[_0x11d2('0x2c')](_0x426523[_0x11d2('0x31')][_0x143a9d][_0x1eeca4[_0x11d2('0x2d')]+'WaitingInteractions'],function(_0x6cd69f){return _0x6cd69f['id']===_0x1eeca4[_0x11d2('0x2b')]['id'];});}return _0x190fd2;};exports[_0x11d2('0x32')]=function(_0x3ff175,_0x3132fb,_0x4a6ce8,_0x36379c){if(_0x4a6ce8&&_0x4a6ce8['id']&&_0x3ff175[_0x11d2('0x31')]&&_0x3ff175[_0x11d2('0x31')][_0x4a6ce8['id']]){_0x3ff175[_0x11d2('0x31')][_0x4a6ce8['id']][_0x36379c+_0x11d2('0x33')][_0x3132fb['message']['id']]={'id':_0x3132fb['interaction']['id']};}};exports[_0x11d2('0x34')]=function(_0x435641,_0x185099,_0x70419a,_0x3c9e6b){if(_0x70419a&&_0x70419a['id']&&_0x435641['agents']&&_0x435641['agents'][_0x70419a['id']]){delete _0x435641[_0x11d2('0x31')][_0x70419a['id']][_0x3c9e6b+'WaitingInteractions'][_0x185099[_0x11d2('0x17')]['id']];}};exports[_0x11d2('0x35')]=writeLog;
\ No newline at end of file