7542b8f0425f1024a27bc0af4afe2018e5ed5743
[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 _0x1da6=['prototype','isNil','Agents','length','debug','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','channel','writeLog','agents','RINGING','busy','busyQueue','name','showNotification','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','hideNotification','TIMEOUT','lodash','uuid','./util','../../../../../config/logger','routing','notificationId','squeue','queue','realtime','push','handleRun','bind','handleTimeout','timeout','drained','handleDrained'];(function(_0x2ffd25,_0x301446){var _0x52c826=function(_0x2e0580){while(--_0x2e0580){_0x2ffd25['push'](_0x2ffd25['shift']());}};_0x52c826(++_0x301446);}(_0x1da6,0x7c));var _0x61da=function(_0x40a045,_0x516f0e){_0x40a045=_0x40a045-0x0;var _0x1a687c=_0x1da6[_0x40a045];return _0x1a687c;};'use strict';var _=require(_0x61da('0x0'));var uuid=require(_0x61da('0x1'));var util=require(_0x61da('0x2'));var logger=require(_0x61da('0x3'))(_0x61da('0x4'));var Beepall=function(_0xbe2d90,_0x1cec74,_0x39754a,_0xf7a566){this[_0x61da('0x5')]=uuid['v4']();this[_0x61da('0x6')]=_0xbe2d90;this[_0x61da('0x7')]=_0x1cec74;this[_0x61da('0x8')]=_0x39754a;this[_0x61da('0x4')]=_0xf7a566;this[_0x61da('0x6')][_0x61da('0x9')](this[_0x61da('0xa')][_0x61da('0xb')](this),this[_0x61da('0xc')][_0x61da('0xb')](this));this['squeue']['on'](_0x61da('0xd'),this[_0x61da('0xc')][_0x61da('0xb')](this));this[_0x61da('0x6')]['on'](_0x61da('0xe'),this[_0x61da('0xf')][_0x61da('0xb')](this));};Beepall[_0x61da('0x10')][_0x61da('0x9')]=function(){this[_0x61da('0x6')][_0x61da('0x9')](this[_0x61da('0xa')][_0x61da('0xb')](this),this[_0x61da('0xc')][_0x61da('0xb')](this));};Beepall['prototype'][_0x61da('0xf')]=function(){this[_0x61da('0xc')](!![]);};Beepall[_0x61da('0x10')][_0x61da('0xa')]=function(){var _0x55eef1=!![];if(!_[_0x61da('0x11')](this['queue'])&&!_[_0x61da('0x11')](this[_0x61da('0x7')]['Agents'])&&this['queue'][_0x61da('0x12')][_0x61da('0x13')]>0x0){for(var _0x46d2c4=0x0,_0x16ab1e;_0x46d2c4<this[_0x61da('0x7')][_0x61da('0x12')]['length'];_0x46d2c4+=0x1){_0x16ab1e=this[_0x61da('0x7')][_0x61da('0x12')][_0x46d2c4]['id'];if(_[_0x61da('0x11')](this[_0x61da('0x8')]['agents'][_0x16ab1e])){logger[_0x61da('0x14')](_0x61da('0x15'),this[_0x61da('0x6')]['id'],_0x16ab1e);}else{if(util[_0x61da('0x16')](this['squeue']['id'],this[_0x61da('0x8')]['agents'][_0x16ab1e],this[_0x61da('0x6')][_0x61da('0x17')],!![])){_0x55eef1=![];util[_0x61da('0x18')](this[_0x61da('0x6')]['id'],this[_0x61da('0x8')][_0x61da('0x19')][_0x16ab1e],_0x61da('0x1a'));this[_0x61da('0x8')][_0x61da('0x19')][_0x16ab1e][_0x61da('0x1b')]=!![];this['realtime'][_0x61da('0x19')][_0x16ab1e][_0x61da('0x1c')]=this[_0x61da('0x7')][_0x61da('0x1d')];util[_0x61da('0x1e')](this[_0x61da('0x5')],this['squeue']['id'],this[_0x61da('0x8')][_0x61da('0x19')][_0x16ab1e],this[_0x61da('0x7')],this[_0x61da('0x4')]);}}}if(_0x55eef1){logger[_0x61da('0x14')](_0x61da('0x1f'),this[_0x61da('0x6')]['id']);setTimeout(this[_0x61da('0x9')]['bind'](this),0x3e8);}}else{logger[_0x61da('0x14')](_0x61da('0x20'),this[_0x61da('0x6')]['id']);setTimeout(this[_0x61da('0x9')]['bind'](this),0x3e8);}};Beepall[_0x61da('0x10')]['handleTimeout']=function(_0x2c9a1d){if(!_[_0x61da('0x11')](this[_0x61da('0x7')])&&!_[_0x61da('0x11')](this[_0x61da('0x7')][_0x61da('0x12')])){for(var _0xb97400=0x0,_0x52d93d;_0xb97400<this[_0x61da('0x7')]['Agents']['length'];_0xb97400+=0x1){_0x52d93d=this[_0x61da('0x7')][_0x61da('0x12')][_0xb97400]['id'];if(_[_0x61da('0x11')](this[_0x61da('0x8')][_0x61da('0x19')][_0x52d93d])){logger['debug'](_0x61da('0x15'),this[_0x61da('0x6')]['id'],_0x52d93d);}else{util[_0x61da('0x21')](this[_0x61da('0x5')],this['squeue']['id'],this[_0x61da('0x8')][_0x61da('0x19')][_0x52d93d],this['queue'],this[_0x61da('0x4')]);util['writeLog'](this['squeue']['id'],this['realtime']['agents'][_0x52d93d],_0x2c9a1d?'STOP':_0x61da('0x22'));this[_0x61da('0x8')][_0x61da('0x19')][_0x52d93d][_0x61da('0x1b')]=![];this[_0x61da('0x8')]['agents'][_0x52d93d][_0x61da('0x1c')]=undefined;}}}if(!_0x2c9a1d){setTimeout(this[_0x61da('0x9')][_0x61da('0xb')](this),0x3e8);}};function beepall(_0x488333,_0x288ff1,_0x23b148,_0x491ac7){return new Beepall(_0x488333,_0x288ff1,_0x23b148,_0x491ac7);}module['exports']=beepall;