38ea27485aa018b4f8e224090a7baa5a94baed07
[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 _0x1ffe=['bind','handleTimeout','timeout','handleDrained','prototype','isNil','Agents','length','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','realtime','channel','writeLog','RINGING','busy','busyQueue','name','showNotification','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','STOP','TIMEOUT','exports','lodash','uuid','./util','../../../../../config/logger','routing','notificationId','squeue','queue','push','handleRun'];(function(_0x1bf8cc,_0x118778){var _0x322d20=function(_0x36953d){while(--_0x36953d){_0x1bf8cc['push'](_0x1bf8cc['shift']());}};_0x322d20(++_0x118778);}(_0x1ffe,0xa5));var _0xe1ff=function(_0x3291e4,_0x114d19){_0x3291e4=_0x3291e4-0x0;var _0x43f7fc=_0x1ffe[_0x3291e4];return _0x43f7fc;};'use strict';var _=require(_0xe1ff('0x0'));var uuid=require(_0xe1ff('0x1'));var util=require(_0xe1ff('0x2'));var logger=require(_0xe1ff('0x3'))(_0xe1ff('0x4'));var Beepall=function(_0x32ea02,_0xbfcf6b,_0x42aa63,_0x77b687){this[_0xe1ff('0x5')]=uuid['v4']();this[_0xe1ff('0x6')]=_0x32ea02;this[_0xe1ff('0x7')]=_0xbfcf6b;this['realtime']=_0x42aa63;this['routing']=_0x77b687;this[_0xe1ff('0x6')][_0xe1ff('0x8')](this[_0xe1ff('0x9')][_0xe1ff('0xa')](this),this[_0xe1ff('0xb')][_0xe1ff('0xa')](this));this[_0xe1ff('0x6')]['on'](_0xe1ff('0xc'),this[_0xe1ff('0xb')][_0xe1ff('0xa')](this));this[_0xe1ff('0x6')]['on']('drained',this[_0xe1ff('0xd')][_0xe1ff('0xa')](this));};Beepall[_0xe1ff('0xe')][_0xe1ff('0x8')]=function(){this[_0xe1ff('0x6')][_0xe1ff('0x8')](this[_0xe1ff('0x9')][_0xe1ff('0xa')](this),this[_0xe1ff('0xb')][_0xe1ff('0xa')](this));};Beepall[_0xe1ff('0xe')][_0xe1ff('0xd')]=function(_0x482546){this[_0xe1ff('0xb')](!![]);};Beepall[_0xe1ff('0xe')][_0xe1ff('0x9')]=function(_0x486942){var _0x15ca4b=!![];if(!_[_0xe1ff('0xf')](this['queue'])&&!_['isNil'](this['queue'][_0xe1ff('0x10')])&&this[_0xe1ff('0x7')][_0xe1ff('0x10')][_0xe1ff('0x11')]>0x0){for(var _0x45c3be=0x0,_0x29de7f;_0x45c3be<this['queue']['Agents'][_0xe1ff('0x11')];_0x45c3be+=0x1){_0x29de7f=this[_0xe1ff('0x7')][_0xe1ff('0x10')][_0x45c3be]['id'];if(_[_0xe1ff('0xf')](this['realtime'][_0xe1ff('0x12')][_0x29de7f])){logger[_0xe1ff('0x13')](_0xe1ff('0x14'),this[_0xe1ff('0x6')]['id'],_0x29de7f);}else{if(util[_0xe1ff('0x15')](this[_0xe1ff('0x6')]['id'],this[_0xe1ff('0x16')][_0xe1ff('0x12')][_0x29de7f],this[_0xe1ff('0x6')][_0xe1ff('0x17')],!![])){_0x15ca4b=![];util[_0xe1ff('0x18')](this[_0xe1ff('0x6')]['id'],this[_0xe1ff('0x16')][_0xe1ff('0x12')][_0x29de7f],_0xe1ff('0x19'));this[_0xe1ff('0x16')][_0xe1ff('0x12')][_0x29de7f][_0xe1ff('0x1a')]=!![];this[_0xe1ff('0x16')][_0xe1ff('0x12')][_0x29de7f][_0xe1ff('0x1b')]=this['queue'][_0xe1ff('0x1c')];util[_0xe1ff('0x1d')](this[_0xe1ff('0x5')],this[_0xe1ff('0x6')]['id'],this['realtime'][_0xe1ff('0x12')][_0x29de7f],this[_0xe1ff('0x7')],this['routing']);}}}if(_0x15ca4b){logger[_0xe1ff('0x13')](_0xe1ff('0x1e'),this[_0xe1ff('0x6')]['id']);setTimeout(this[_0xe1ff('0x8')][_0xe1ff('0xa')](this),0x3e8);}}else{logger[_0xe1ff('0x13')](_0xe1ff('0x1f'),this[_0xe1ff('0x6')]['id']);setTimeout(this['push'][_0xe1ff('0xa')](this),0x3e8);}};Beepall[_0xe1ff('0xe')][_0xe1ff('0xb')]=function(_0x35ca34){if(!_[_0xe1ff('0xf')](this['queue'])&&!_[_0xe1ff('0xf')](this[_0xe1ff('0x7')][_0xe1ff('0x10')])){for(var _0x362008=0x0,_0x3d5e34;_0x362008<this[_0xe1ff('0x7')][_0xe1ff('0x10')][_0xe1ff('0x11')];_0x362008+=0x1){_0x3d5e34=this[_0xe1ff('0x7')]['Agents'][_0x362008]['id'];if(_[_0xe1ff('0xf')](this['realtime'][_0xe1ff('0x12')][_0x3d5e34])){logger[_0xe1ff('0x13')](_0xe1ff('0x14'),this[_0xe1ff('0x6')]['id'],_0x3d5e34);}else{util['hideNotification'](this[_0xe1ff('0x5')],this['squeue']['id'],this[_0xe1ff('0x16')][_0xe1ff('0x12')][_0x3d5e34],this[_0xe1ff('0x7')],this[_0xe1ff('0x4')]);util[_0xe1ff('0x18')](this[_0xe1ff('0x6')]['id'],this[_0xe1ff('0x16')][_0xe1ff('0x12')][_0x3d5e34],_0x35ca34?_0xe1ff('0x20'):_0xe1ff('0x21'));this[_0xe1ff('0x16')][_0xe1ff('0x12')][_0x3d5e34][_0xe1ff('0x1a')]=![];this[_0xe1ff('0x16')]['agents'][_0x3d5e34][_0xe1ff('0x1b')]=undefined;}}}if(!_0x35ca34){setTimeout(this[_0xe1ff('0x8')]['bind'](this),0x3e8);}};function beepall(_0xf43713,_0x1366ed,_0x1c0cd8,_0x3a3572){return new Beepall(_0xf43713,_0x1366ed,_0x1c0cd8,_0x3a3572);}module[_0xe1ff('0x22')]=beepall;