Built motion from commit d1eab355.|2.6.28
[motion2.git] / server / services / routing / server / applications / strategy / beepall.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 _0x68fc=['saveWaitingNotification','showNotification','notificationId','debug','[%s][QUEUE]\x20EMPTY','hideNotification','writeLog','TIMEOUT','removeWaitingNotification','lodash','uuid','./util','../../../../../config/logger','routing','squeue','queue','realtime','push','handleRun','handleTimeout','bind','timeout','drained','handleDrained','prototype','isNil','Agents','length','agents','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','channel','RINGING','busy','busyQueue'];(function(_0x8c43de,_0x90ff31){var _0xa6591b=function(_0x469716){while(--_0x469716){_0x8c43de['push'](_0x8c43de['shift']());}};_0xa6591b(++_0x90ff31);}(_0x68fc,0x13b));var _0xc68f=function(_0x109843,_0x31f78f){_0x109843=_0x109843-0x0;var _0x323b83=_0x68fc[_0x109843];return _0x323b83;};'use strict';var _=require(_0xc68f('0x0'));var uuid=require(_0xc68f('0x1'));var util=require(_0xc68f('0x2'));var logger=require(_0xc68f('0x3'))(_0xc68f('0x4'));var Beepall=function(_0x34860c,_0x4cdfe3,_0x5ca233,_0x1a1b32){this['notificationId']=uuid['v4']();this[_0xc68f('0x5')]=_0x34860c;this[_0xc68f('0x6')]=_0x4cdfe3;this[_0xc68f('0x7')]=_0x5ca233;this[_0xc68f('0x4')]=_0x1a1b32;this['squeue'][_0xc68f('0x8')](this[_0xc68f('0x9')]['bind'](this),this[_0xc68f('0xa')][_0xc68f('0xb')](this));this[_0xc68f('0x5')]['on'](_0xc68f('0xc'),this[_0xc68f('0xa')]['bind'](this));this['squeue']['on'](_0xc68f('0xd'),this[_0xc68f('0xe')][_0xc68f('0xb')](this));};Beepall[_0xc68f('0xf')][_0xc68f('0x8')]=function(){this['squeue'][_0xc68f('0x8')](this[_0xc68f('0x9')][_0xc68f('0xb')](this),this['handleTimeout'][_0xc68f('0xb')](this));};Beepall[_0xc68f('0xf')][_0xc68f('0xe')]=function(){this[_0xc68f('0xa')](!![]);};Beepall['prototype'][_0xc68f('0x9')]=function(){var _0x3494ab=!![];if(!_[_0xc68f('0x10')](this[_0xc68f('0x6')])&&!_[_0xc68f('0x10')](this[_0xc68f('0x6')]['Agents'])&&this[_0xc68f('0x6')][_0xc68f('0x11')][_0xc68f('0x12')]>0x0){for(var _0x52ac13=0x0,_0x162e36;_0x52ac13<this[_0xc68f('0x6')][_0xc68f('0x11')][_0xc68f('0x12')];_0x52ac13+=0x1){_0x162e36=this['queue'][_0xc68f('0x11')][_0x52ac13]['id'];if(_[_0xc68f('0x10')](this['realtime'][_0xc68f('0x13')][_0x162e36])){logger['debug'](_0xc68f('0x14'),this[_0xc68f('0x5')]['id'],_0x162e36);}else{if(util['isAgentAvailable'](this['squeue']['id'],this['realtime'][_0xc68f('0x13')][_0x162e36],this[_0xc68f('0x5')][_0xc68f('0x15')],!![])){_0x3494ab=![];util['writeLog'](this[_0xc68f('0x5')]['id'],this[_0xc68f('0x7')]['agents'][_0x162e36],_0xc68f('0x16'));this['realtime']['agents'][_0x162e36][_0xc68f('0x17')]=!![];this['realtime']['agents'][_0x162e36][_0xc68f('0x18')]=this[_0xc68f('0x6')]['name'];util[_0xc68f('0x19')](this[_0xc68f('0x7')],this[_0xc68f('0x4')],this[_0xc68f('0x6')][_0xc68f('0x11')][_0x52ac13],this[_0xc68f('0x5')]['channel']);util[_0xc68f('0x1a')](this[_0xc68f('0x1b')],this[_0xc68f('0x5')]['id'],this['realtime'][_0xc68f('0x13')][_0x162e36],this['queue'],this[_0xc68f('0x4')]);}}}if(_0x3494ab){logger[_0xc68f('0x1c')]('[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY',this['squeue']['id']);setTimeout(this[_0xc68f('0x8')][_0xc68f('0xb')](this),0x3e8);}}else{logger['debug'](_0xc68f('0x1d'),this[_0xc68f('0x5')]['id']);setTimeout(this[_0xc68f('0x8')]['bind'](this),0x3e8);}};Beepall[_0xc68f('0xf')][_0xc68f('0xa')]=function(_0x5ddc70){if(!_[_0xc68f('0x10')](this[_0xc68f('0x6')])&&!_[_0xc68f('0x10')](this['queue']['Agents'])){for(var _0x42483c=0x0,_0xabfa6e;_0x42483c<this['queue'][_0xc68f('0x11')]['length'];_0x42483c+=0x1){_0xabfa6e=this[_0xc68f('0x6')][_0xc68f('0x11')][_0x42483c]['id'];if(_[_0xc68f('0x10')](this['realtime'][_0xc68f('0x13')][_0xabfa6e])){logger['debug'](_0xc68f('0x14'),this[_0xc68f('0x5')]['id'],_0xabfa6e);}else{util[_0xc68f('0x1e')](this[_0xc68f('0x1b')],this[_0xc68f('0x5')]['id'],this[_0xc68f('0x7')]['agents'][_0xabfa6e],this[_0xc68f('0x6')],this[_0xc68f('0x4')]);util[_0xc68f('0x1f')](this[_0xc68f('0x5')]['id'],this[_0xc68f('0x7')][_0xc68f('0x13')][_0xabfa6e],_0x5ddc70?'STOP':_0xc68f('0x20'));this[_0xc68f('0x7')][_0xc68f('0x13')][_0xabfa6e]['busy']=![];this[_0xc68f('0x7')][_0xc68f('0x13')][_0xabfa6e][_0xc68f('0x18')]=undefined;util[_0xc68f('0x21')](this[_0xc68f('0x7')],this[_0xc68f('0x4')],this[_0xc68f('0x7')][_0xc68f('0x13')][_0xabfa6e],this[_0xc68f('0x5')][_0xc68f('0x15')]);}}}if(!_0x5ddc70){setTimeout(this[_0xc68f('0x8')]['bind'](this),0x3e8);}};function beepall(_0x1eac4e,_0x1e902d,_0x3f147b,_0x4f2770){return new Beepall(_0x1eac4e,_0x1e902d,_0x3f147b,_0x4f2770);}module['exports']=beepall;