Built motion from commit (unavailable).|2.5.2
[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 _0x5b60=['../../../../../config/logger','routing','notificationId','squeue','queue','bind','timeout','handleDrained','prototype','push','handleRun','handleTimeout','isNil','Agents','length','realtime','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','channel','writeLog','busy','busyQueue','name','showNotification','[%s][QUEUE]\x20EMPTY','hideNotification','lodash','uuid','./util'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0x5b60,0x1dd));var _0x05b6=function(_0x24237f,_0x4cf32c){_0x24237f=_0x24237f-0x0;var _0x48298e=_0x5b60[_0x24237f];return _0x48298e;};'use strict';var _=require(_0x05b6('0x0'));var uuid=require(_0x05b6('0x1'));var util=require(_0x05b6('0x2'));var logger=require(_0x05b6('0x3'))(_0x05b6('0x4'));var Beepall=function(_0x265b3b,_0x4a44d9,_0x59e921,_0x54a8d4){this[_0x05b6('0x5')]=uuid['v4']();this[_0x05b6('0x6')]=_0x265b3b;this[_0x05b6('0x7')]=_0x4a44d9;this['realtime']=_0x59e921;this['routing']=_0x54a8d4;this[_0x05b6('0x6')]['push'](this['handleRun']['bind'](this),this['handleTimeout'][_0x05b6('0x8')](this));this[_0x05b6('0x6')]['on'](_0x05b6('0x9'),this['handleTimeout']['bind'](this));this[_0x05b6('0x6')]['on']('drained',this[_0x05b6('0xa')][_0x05b6('0x8')](this));};Beepall[_0x05b6('0xb')][_0x05b6('0xc')]=function(){this[_0x05b6('0x6')]['push'](this[_0x05b6('0xd')]['bind'](this),this[_0x05b6('0xe')][_0x05b6('0x8')](this));};Beepall[_0x05b6('0xb')][_0x05b6('0xa')]=function(_0x2d6947){this[_0x05b6('0xe')](!![]);};Beepall[_0x05b6('0xb')][_0x05b6('0xd')]=function(_0x8a0ad0){var _0x489b4f=!![];if(!_[_0x05b6('0xf')](this['queue'])&&!_[_0x05b6('0xf')](this[_0x05b6('0x7')][_0x05b6('0x10')])&&this[_0x05b6('0x7')]['Agents'][_0x05b6('0x11')]>0x0){for(var _0x4a1a1f=0x0,_0xc43f63;_0x4a1a1f<this[_0x05b6('0x7')][_0x05b6('0x10')][_0x05b6('0x11')];_0x4a1a1f+=0x1){_0xc43f63=this[_0x05b6('0x7')][_0x05b6('0x10')][_0x4a1a1f]['id'];if(_[_0x05b6('0xf')](this[_0x05b6('0x12')][_0x05b6('0x13')][_0xc43f63])){logger[_0x05b6('0x14')](_0x05b6('0x15'),this[_0x05b6('0x6')]['id'],_0xc43f63);}else{if(util['isAgentAvailable'](this[_0x05b6('0x6')]['id'],this[_0x05b6('0x12')][_0x05b6('0x13')][_0xc43f63],this[_0x05b6('0x6')][_0x05b6('0x16')],!![])){_0x489b4f=![];util[_0x05b6('0x17')](this[_0x05b6('0x6')]['id'],this['realtime'][_0x05b6('0x13')][_0xc43f63],'RINGING');this[_0x05b6('0x12')][_0x05b6('0x13')][_0xc43f63][_0x05b6('0x18')]=!![];this['realtime'][_0x05b6('0x13')][_0xc43f63][_0x05b6('0x19')]=this[_0x05b6('0x7')][_0x05b6('0x1a')];util[_0x05b6('0x1b')](this[_0x05b6('0x5')],this[_0x05b6('0x6')]['id'],this[_0x05b6('0x12')][_0x05b6('0x13')][_0xc43f63],this[_0x05b6('0x7')],this[_0x05b6('0x4')]);}}}if(_0x489b4f){logger[_0x05b6('0x14')]('[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY',this['squeue']['id']);setTimeout(this[_0x05b6('0xc')]['bind'](this),0x3e8);}}else{logger[_0x05b6('0x14')](_0x05b6('0x1c'),this[_0x05b6('0x6')]['id']);setTimeout(this[_0x05b6('0xc')][_0x05b6('0x8')](this),0x3e8);}};Beepall[_0x05b6('0xb')][_0x05b6('0xe')]=function(_0xab1d58){if(!_[_0x05b6('0xf')](this[_0x05b6('0x7')])&&!_[_0x05b6('0xf')](this[_0x05b6('0x7')][_0x05b6('0x10')])){for(var _0x26955b=0x0,_0x271685;_0x26955b<this['queue'][_0x05b6('0x10')]['length'];_0x26955b+=0x1){_0x271685=this[_0x05b6('0x7')][_0x05b6('0x10')][_0x26955b]['id'];if(_[_0x05b6('0xf')](this[_0x05b6('0x12')]['agents'][_0x271685])){logger[_0x05b6('0x14')](_0x05b6('0x15'),this['squeue']['id'],_0x271685);}else{util[_0x05b6('0x1d')](this[_0x05b6('0x5')],this[_0x05b6('0x6')]['id'],this[_0x05b6('0x12')][_0x05b6('0x13')][_0x271685],this[_0x05b6('0x7')],this[_0x05b6('0x4')]);util[_0x05b6('0x17')](this[_0x05b6('0x6')]['id'],this[_0x05b6('0x12')][_0x05b6('0x13')][_0x271685],_0xab1d58?'STOP':'TIMEOUT');this['realtime']['agents'][_0x271685]['busy']=![];this[_0x05b6('0x12')][_0x05b6('0x13')][_0x271685][_0x05b6('0x19')]=undefined;}}}if(!_0xab1d58){setTimeout(this['push'][_0x05b6('0x8')](this),0x3e8);}};function beepall(_0x1a9cf4,_0x25554a,_0x2e48a3,_0x354acc){return new Beepall(_0x1a9cf4,_0x25554a,_0x2e48a3,_0x354acc);}module['exports']=beepall;