Built motion from commit ddca4d0d.|2.5.47
[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 _0xc492=['agents','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','realtime','channel','writeLog','RINGING','busy','name','showNotification','info','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','hideNotification','STOP','TIMEOUT','busyQueue','exports','lodash','uuid','./util','notificationId','queue','routing','squeue','handleRun','bind','handleTimeout','push','prototype','handleDrained','isNil','Agents','length'];(function(_0x5f52e4,_0x5a69b3){var _0x25148b=function(_0x461a44){while(--_0x461a44){_0x5f52e4['push'](_0x5f52e4['shift']());}};_0x25148b(++_0x5a69b3);}(_0xc492,0xd7));var _0x2c49=function(_0x2f0b9c,_0x5e6660){_0x2f0b9c=_0x2f0b9c-0x0;var _0x198c8a=_0xc492[_0x2f0b9c];return _0x198c8a;};'use strict';var _=require(_0x2c49('0x0'));var uuid=require(_0x2c49('0x1'));var util=require(_0x2c49('0x2'));var logger=require('../../../../../config/logger')('routing');var Beepall=function(_0x37eda4,_0x5bab73,_0x4c9b2d,_0x555cba){this[_0x2c49('0x3')]=uuid['v4']();this['squeue']=_0x37eda4;this[_0x2c49('0x4')]=_0x5bab73;this['realtime']=_0x4c9b2d;this[_0x2c49('0x5')]=_0x555cba;this[_0x2c49('0x6')]['push'](this[_0x2c49('0x7')][_0x2c49('0x8')](this),this[_0x2c49('0x9')][_0x2c49('0x8')](this));this[_0x2c49('0x6')]['on']('timeout',this[_0x2c49('0x9')]['bind'](this));this['squeue']['on']('drained',this['handleDrained'][_0x2c49('0x8')](this));};Beepall['prototype'][_0x2c49('0xa')]=function(){this[_0x2c49('0x6')]['push'](this[_0x2c49('0x7')][_0x2c49('0x8')](this),this[_0x2c49('0x9')][_0x2c49('0x8')](this));};Beepall[_0x2c49('0xb')][_0x2c49('0xc')]=function(_0x560c76){this[_0x2c49('0x9')](!![]);};Beepall[_0x2c49('0xb')][_0x2c49('0x7')]=function(_0x36d8ec){var _0x14f529=!![];if(!_['isNil'](this[_0x2c49('0x4')])&&!_[_0x2c49('0xd')](this[_0x2c49('0x4')][_0x2c49('0xe')])&&this[_0x2c49('0x4')][_0x2c49('0xe')][_0x2c49('0xf')]>0x0){for(var _0x2e2e07=0x0,_0x1fe9f8;_0x2e2e07<this[_0x2c49('0x4')]['Agents'][_0x2c49('0xf')];_0x2e2e07+=0x1){_0x1fe9f8=this[_0x2c49('0x4')][_0x2c49('0xe')][_0x2e2e07]['id'];if(_[_0x2c49('0xd')](this['realtime'][_0x2c49('0x10')][_0x1fe9f8])){logger['info'](_0x2c49('0x11'),this[_0x2c49('0x6')]['id'],_0x1fe9f8);}else{if(util['isAgentAvailable'](this['squeue']['id'],this[_0x2c49('0x12')][_0x2c49('0x10')][_0x1fe9f8],this[_0x2c49('0x6')][_0x2c49('0x13')],!![])){_0x14f529=![];util[_0x2c49('0x14')](this[_0x2c49('0x6')]['id'],this[_0x2c49('0x12')][_0x2c49('0x10')][_0x1fe9f8],_0x2c49('0x15'));this['realtime'][_0x2c49('0x10')][_0x1fe9f8][_0x2c49('0x16')]=!![];this[_0x2c49('0x12')][_0x2c49('0x10')][_0x1fe9f8]['busyQueue']=this[_0x2c49('0x4')][_0x2c49('0x17')];util[_0x2c49('0x18')](this[_0x2c49('0x3')],this['squeue']['id'],this[_0x2c49('0x12')][_0x2c49('0x10')][_0x1fe9f8],this[_0x2c49('0x4')],this['routing']);}}}if(_0x14f529){logger[_0x2c49('0x19')](_0x2c49('0x1a'),this['squeue']['id']);setTimeout(this[_0x2c49('0xa')]['bind'](this),0x3e8);}}else{logger['info'](_0x2c49('0x1b'),this['squeue']['id']);setTimeout(this[_0x2c49('0xa')]['bind'](this),0x3e8);}};Beepall[_0x2c49('0xb')][_0x2c49('0x9')]=function(_0x2b2dd5){if(!_[_0x2c49('0xd')](this[_0x2c49('0x4')])&&!_[_0x2c49('0xd')](this[_0x2c49('0x4')][_0x2c49('0xe')])){for(var _0x184d0d=0x0,_0x42c4fb;_0x184d0d<this['queue'][_0x2c49('0xe')]['length'];_0x184d0d+=0x1){_0x42c4fb=this[_0x2c49('0x4')][_0x2c49('0xe')][_0x184d0d]['id'];if(_[_0x2c49('0xd')](this[_0x2c49('0x12')][_0x2c49('0x10')][_0x42c4fb])){logger[_0x2c49('0x19')](_0x2c49('0x11'),this[_0x2c49('0x6')]['id'],_0x42c4fb);}else{util[_0x2c49('0x1c')](this[_0x2c49('0x3')],this[_0x2c49('0x6')]['id'],this[_0x2c49('0x12')][_0x2c49('0x10')][_0x42c4fb],this[_0x2c49('0x4')],this['routing']);util['writeLog'](this[_0x2c49('0x6')]['id'],this[_0x2c49('0x12')]['agents'][_0x42c4fb],_0x2b2dd5?_0x2c49('0x1d'):_0x2c49('0x1e'));this[_0x2c49('0x12')][_0x2c49('0x10')][_0x42c4fb][_0x2c49('0x16')]=![];this[_0x2c49('0x12')][_0x2c49('0x10')][_0x42c4fb][_0x2c49('0x1f')]=undefined;}}}if(!_0x2b2dd5){setTimeout(this['push'][_0x2c49('0x8')](this),0x3e8);}};function beepall(_0x35487c,_0x59abe6,_0x3dcf7c,_0x1d6136){return new Beepall(_0x35487c,_0x59abe6,_0x3dcf7c,_0x1d6136);}module[_0x2c49('0x20')]=beepall;