ba2972bd777acffdcf45d371f8ac102dd77495d4
[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 _0x1da1=['[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','writeLog','RINGING','busyQueue','name','showNotification','hideNotification','STOP','TIMEOUT','busy','lodash','uuid','./util','routing','notificationId','squeue','queue','realtime','push','handleRun','bind','handleTimeout','timeout','drained','handleDrained','prototype','isNil','Agents','length','agents','info'];(function(_0x26b62d,_0x15ac89){var _0x2726df=function(_0x1bbe67){while(--_0x1bbe67){_0x26b62d['push'](_0x26b62d['shift']());}};_0x2726df(++_0x15ac89);}(_0x1da1,0x1ab));var _0x11da=function(_0x136f76,_0x280931){_0x136f76=_0x136f76-0x0;var _0x1cec38=_0x1da1[_0x136f76];return _0x1cec38;};'use strict';var _=require(_0x11da('0x0'));var uuid=require(_0x11da('0x1'));var util=require(_0x11da('0x2'));var logger=require('../../../../../config/logger')(_0x11da('0x3'));var Beepall=function(_0x5f06c1,_0x3979de,_0x1df841,_0xf98379){this[_0x11da('0x4')]=uuid['v4']();this[_0x11da('0x5')]=_0x5f06c1;this[_0x11da('0x6')]=_0x3979de;this[_0x11da('0x7')]=_0x1df841;this['routing']=_0xf98379;this['squeue'][_0x11da('0x8')](this[_0x11da('0x9')][_0x11da('0xa')](this),this[_0x11da('0xb')]['bind'](this));this['squeue']['on'](_0x11da('0xc'),this[_0x11da('0xb')][_0x11da('0xa')](this));this['squeue']['on'](_0x11da('0xd'),this[_0x11da('0xe')][_0x11da('0xa')](this));};Beepall[_0x11da('0xf')][_0x11da('0x8')]=function(){this[_0x11da('0x5')][_0x11da('0x8')](this[_0x11da('0x9')][_0x11da('0xa')](this),this['handleTimeout'][_0x11da('0xa')](this));};Beepall[_0x11da('0xf')]['handleDrained']=function(_0x5469d8){this[_0x11da('0xb')](!![]);};Beepall['prototype']['handleRun']=function(_0x406728){var _0x363034=!![];if(!_[_0x11da('0x10')](this[_0x11da('0x6')])&&!_[_0x11da('0x10')](this[_0x11da('0x6')][_0x11da('0x11')])&&this[_0x11da('0x6')][_0x11da('0x11')][_0x11da('0x12')]>0x0){for(var _0x2fca2b=0x0,_0x44d034;_0x2fca2b<this[_0x11da('0x6')][_0x11da('0x11')][_0x11da('0x12')];_0x2fca2b+=0x1){_0x44d034=this[_0x11da('0x6')][_0x11da('0x11')][_0x2fca2b]['id'];if(_[_0x11da('0x10')](this['realtime'][_0x11da('0x13')][_0x44d034])){logger[_0x11da('0x14')](_0x11da('0x15'),this['squeue']['id'],_0x44d034);}else{if(util[_0x11da('0x16')](this[_0x11da('0x5')]['id'],this['realtime'][_0x11da('0x13')][_0x44d034],this[_0x11da('0x5')]['channel'],!![])){_0x363034=![];util[_0x11da('0x17')](this[_0x11da('0x5')]['id'],this[_0x11da('0x7')][_0x11da('0x13')][_0x44d034],_0x11da('0x18'));this[_0x11da('0x7')][_0x11da('0x13')][_0x44d034]['busy']=!![];this['realtime'][_0x11da('0x13')][_0x44d034][_0x11da('0x19')]=this[_0x11da('0x6')][_0x11da('0x1a')];util[_0x11da('0x1b')](this[_0x11da('0x4')],this[_0x11da('0x5')]['id'],this['realtime']['agents'][_0x44d034],this['queue'],this['routing']);}}}if(_0x363034){logger['info']('[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY',this[_0x11da('0x5')]['id']);setTimeout(this[_0x11da('0x8')]['bind'](this),0x3e8);}}else{logger[_0x11da('0x14')]('[%s][QUEUE]\x20EMPTY',this['squeue']['id']);setTimeout(this['push']['bind'](this),0x3e8);}};Beepall[_0x11da('0xf')][_0x11da('0xb')]=function(_0x371529){if(!_[_0x11da('0x10')](this[_0x11da('0x6')])&&!_[_0x11da('0x10')](this[_0x11da('0x6')][_0x11da('0x11')])){for(var _0x246102=0x0,_0x37ae66;_0x246102<this[_0x11da('0x6')][_0x11da('0x11')][_0x11da('0x12')];_0x246102+=0x1){_0x37ae66=this['queue'][_0x11da('0x11')][_0x246102]['id'];if(_[_0x11da('0x10')](this[_0x11da('0x7')][_0x11da('0x13')][_0x37ae66])){logger[_0x11da('0x14')](_0x11da('0x15'),this[_0x11da('0x5')]['id'],_0x37ae66);}else{util[_0x11da('0x1c')](this[_0x11da('0x4')],this[_0x11da('0x5')]['id'],this[_0x11da('0x7')]['agents'][_0x37ae66],this[_0x11da('0x6')],this[_0x11da('0x3')]);util[_0x11da('0x17')](this[_0x11da('0x5')]['id'],this['realtime'][_0x11da('0x13')][_0x37ae66],_0x371529?_0x11da('0x1d'):_0x11da('0x1e'));this[_0x11da('0x7')][_0x11da('0x13')][_0x37ae66][_0x11da('0x1f')]=![];this[_0x11da('0x7')][_0x11da('0x13')][_0x37ae66][_0x11da('0x19')]=undefined;}}}if(!_0x371529){setTimeout(this['push'][_0x11da('0xa')](this),0x3e8);}};function beepall(_0x2a7692,_0x55d630,_0x521066,_0x20cacd){return new Beepall(_0x2a7692,_0x55d630,_0x521066,_0x20cacd);}module['exports']=beepall;