Built motion from commit (unavailable).|2.4.18
[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 _0x6dac=['busy','name','showNotification','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','hideNotification','STOP','busyQueue','lodash','./util','../../../../../config/logger','notificationId','routing','push','handleRun','bind','timeout','squeue','drained','prototype','handleDrained','handleTimeout','queue','isNil','Agents','length','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','realtime','channel','writeLog','RINGING'];(function(_0x314acb,_0x296f21){var _0x448b99=function(_0x20cfb1){while(--_0x20cfb1){_0x314acb['push'](_0x314acb['shift']());}};_0x448b99(++_0x296f21);}(_0x6dac,0x17e));var _0xc6da=function(_0x3617dd,_0x57c3e9){_0x3617dd=_0x3617dd-0x0;var _0x13154b=_0x6dac[_0x3617dd];return _0x13154b;};'use strict';var _=require(_0xc6da('0x0'));var uuid=require('uuid');var util=require(_0xc6da('0x1'));var logger=require(_0xc6da('0x2'))('routing');var Beepall=function(_0x39ba76,_0x467de1,_0x2010a8,_0x4aceac){this[_0xc6da('0x3')]=uuid['v4']();this['squeue']=_0x39ba76;this['queue']=_0x467de1;this['realtime']=_0x2010a8;this[_0xc6da('0x4')]=_0x4aceac;this['squeue'][_0xc6da('0x5')](this[_0xc6da('0x6')][_0xc6da('0x7')](this),this['handleTimeout'][_0xc6da('0x7')](this));this['squeue']['on'](_0xc6da('0x8'),this['handleTimeout']['bind'](this));this[_0xc6da('0x9')]['on'](_0xc6da('0xa'),this['handleDrained'][_0xc6da('0x7')](this));};Beepall[_0xc6da('0xb')][_0xc6da('0x5')]=function(){this[_0xc6da('0x9')][_0xc6da('0x5')](this['handleRun']['bind'](this),this['handleTimeout'][_0xc6da('0x7')](this));};Beepall['prototype'][_0xc6da('0xc')]=function(_0x467052){this[_0xc6da('0xd')](!![]);};Beepall[_0xc6da('0xb')]['handleRun']=function(_0x5937d6){var _0x1b4b8d=!![];if(!_['isNil'](this[_0xc6da('0xe')])&&!_[_0xc6da('0xf')](this[_0xc6da('0xe')][_0xc6da('0x10')])&&this[_0xc6da('0xe')][_0xc6da('0x10')][_0xc6da('0x11')]>0x0){for(var _0x34e151=0x0,_0x10909;_0x34e151<this['queue'][_0xc6da('0x10')][_0xc6da('0x11')];_0x34e151+=0x1){_0x10909=this[_0xc6da('0xe')]['Agents'][_0x34e151]['id'];if(_[_0xc6da('0xf')](this['realtime'][_0xc6da('0x12')][_0x10909])){logger[_0xc6da('0x13')](_0xc6da('0x14'),this[_0xc6da('0x9')]['id'],_0x10909);}else{if(util[_0xc6da('0x15')](this[_0xc6da('0x9')]['id'],this[_0xc6da('0x16')][_0xc6da('0x12')][_0x10909],this[_0xc6da('0x9')][_0xc6da('0x17')],!![])){_0x1b4b8d=![];util[_0xc6da('0x18')](this[_0xc6da('0x9')]['id'],this[_0xc6da('0x16')]['agents'][_0x10909],_0xc6da('0x19'));this[_0xc6da('0x16')][_0xc6da('0x12')][_0x10909][_0xc6da('0x1a')]=!![];this[_0xc6da('0x16')]['agents'][_0x10909]['busyQueue']=this[_0xc6da('0xe')][_0xc6da('0x1b')];util[_0xc6da('0x1c')](this[_0xc6da('0x3')],this[_0xc6da('0x9')]['id'],this[_0xc6da('0x16')][_0xc6da('0x12')][_0x10909],this['queue'],this[_0xc6da('0x4')]);}}}if(_0x1b4b8d){logger['info'](_0xc6da('0x1d'),this[_0xc6da('0x9')]['id']);setTimeout(this[_0xc6da('0x5')][_0xc6da('0x7')](this),0x3e8);}}else{logger[_0xc6da('0x13')](_0xc6da('0x1e'),this[_0xc6da('0x9')]['id']);setTimeout(this[_0xc6da('0x5')]['bind'](this),0x3e8);}};Beepall[_0xc6da('0xb')][_0xc6da('0xd')]=function(_0x1ac76c){if(!_['isNil'](this[_0xc6da('0xe')])&&!_[_0xc6da('0xf')](this[_0xc6da('0xe')]['Agents'])){for(var _0x2b6277=0x0,_0x3d1425;_0x2b6277<this['queue'][_0xc6da('0x10')]['length'];_0x2b6277+=0x1){_0x3d1425=this['queue'][_0xc6da('0x10')][_0x2b6277]['id'];if(_[_0xc6da('0xf')](this[_0xc6da('0x16')]['agents'][_0x3d1425])){logger[_0xc6da('0x13')](_0xc6da('0x14'),this[_0xc6da('0x9')]['id'],_0x3d1425);}else{util[_0xc6da('0x1f')](this[_0xc6da('0x3')],this[_0xc6da('0x9')]['id'],this[_0xc6da('0x16')][_0xc6da('0x12')][_0x3d1425],this['queue'],this['routing']);util[_0xc6da('0x18')](this[_0xc6da('0x9')]['id'],this['realtime'][_0xc6da('0x12')][_0x3d1425],_0x1ac76c?_0xc6da('0x20'):'TIMEOUT');this['realtime']['agents'][_0x3d1425][_0xc6da('0x1a')]=![];this['realtime'][_0xc6da('0x12')][_0x3d1425][_0xc6da('0x21')]=undefined;}}}if(!_0x1ac76c){setTimeout(this[_0xc6da('0x5')]['bind'](this),0x3e8);}};function beepall(_0x47bbbd,_0x57cc1b,_0x5a1f57,_0x3ca377){return new Beepall(_0x47bbbd,_0x57cc1b,_0x5a1f57,_0x3ca377);}module['exports']=beepall;