Built motion from commit 85328c08.|2.5.50
[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 _0x374c=['bind','prototype','isNil','queue','Agents','length','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','agents','channel','writeLog','RINGING','busy','busyQueue','showNotification','info','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','hideNotification','TIMEOUT','exports','uuid','./util','../../../../../config/logger','routing','notificationId','squeue','realtime','push','handleRun','handleTimeout','timeout','handleDrained'];(function(_0x39782f,_0x4aa931){var _0x47768c=function(_0x2672e4){while(--_0x2672e4){_0x39782f['push'](_0x39782f['shift']());}};_0x47768c(++_0x4aa931);}(_0x374c,0x1e3));var _0xc374=function(_0x49ca18,_0x5e6d05){_0x49ca18=_0x49ca18-0x0;var _0x145d54=_0x374c[_0x49ca18];return _0x145d54;};'use strict';var _=require('lodash');var uuid=require(_0xc374('0x0'));var util=require(_0xc374('0x1'));var logger=require(_0xc374('0x2'))(_0xc374('0x3'));var Beepall=function(_0x283c1d,_0x59bac9,_0x8d161e,_0x534707){this[_0xc374('0x4')]=uuid['v4']();this[_0xc374('0x5')]=_0x283c1d;this['queue']=_0x59bac9;this[_0xc374('0x6')]=_0x8d161e;this[_0xc374('0x3')]=_0x534707;this[_0xc374('0x5')][_0xc374('0x7')](this[_0xc374('0x8')]['bind'](this),this[_0xc374('0x9')]['bind'](this));this['squeue']['on'](_0xc374('0xa'),this[_0xc374('0x9')]['bind'](this));this[_0xc374('0x5')]['on']('drained',this[_0xc374('0xb')][_0xc374('0xc')](this));};Beepall[_0xc374('0xd')]['push']=function(){this[_0xc374('0x5')][_0xc374('0x7')](this[_0xc374('0x8')]['bind'](this),this[_0xc374('0x9')][_0xc374('0xc')](this));};Beepall[_0xc374('0xd')]['handleDrained']=function(_0x166a78){this['handleTimeout'](!![]);};Beepall[_0xc374('0xd')][_0xc374('0x8')]=function(_0x52aee6){var _0x1e44f9=!![];if(!_[_0xc374('0xe')](this[_0xc374('0xf')])&&!_[_0xc374('0xe')](this[_0xc374('0xf')][_0xc374('0x10')])&&this[_0xc374('0xf')][_0xc374('0x10')][_0xc374('0x11')]>0x0){for(var _0x1c3784=0x0,_0x221151;_0x1c3784<this['queue'][_0xc374('0x10')][_0xc374('0x11')];_0x1c3784+=0x1){_0x221151=this[_0xc374('0xf')]['Agents'][_0x1c3784]['id'];if(_[_0xc374('0xe')](this[_0xc374('0x6')]['agents'][_0x221151])){logger['info'](_0xc374('0x12'),this[_0xc374('0x5')]['id'],_0x221151);}else{if(util[_0xc374('0x13')](this[_0xc374('0x5')]['id'],this['realtime'][_0xc374('0x14')][_0x221151],this[_0xc374('0x5')][_0xc374('0x15')],!![])){_0x1e44f9=![];util[_0xc374('0x16')](this[_0xc374('0x5')]['id'],this[_0xc374('0x6')][_0xc374('0x14')][_0x221151],_0xc374('0x17'));this[_0xc374('0x6')][_0xc374('0x14')][_0x221151][_0xc374('0x18')]=!![];this['realtime'][_0xc374('0x14')][_0x221151][_0xc374('0x19')]=this[_0xc374('0xf')]['name'];util[_0xc374('0x1a')](this[_0xc374('0x4')],this[_0xc374('0x5')]['id'],this[_0xc374('0x6')]['agents'][_0x221151],this['queue'],this['routing']);}}}if(_0x1e44f9){logger[_0xc374('0x1b')](_0xc374('0x1c'),this[_0xc374('0x5')]['id']);setTimeout(this['push'][_0xc374('0xc')](this),0x3e8);}}else{logger['info'](_0xc374('0x1d'),this[_0xc374('0x5')]['id']);setTimeout(this[_0xc374('0x7')][_0xc374('0xc')](this),0x3e8);}};Beepall[_0xc374('0xd')][_0xc374('0x9')]=function(_0x10b1a0){if(!_[_0xc374('0xe')](this['queue'])&&!_[_0xc374('0xe')](this['queue'][_0xc374('0x10')])){for(var _0x27abe6=0x0,_0x33327a;_0x27abe6<this[_0xc374('0xf')]['Agents'][_0xc374('0x11')];_0x27abe6+=0x1){_0x33327a=this['queue'][_0xc374('0x10')][_0x27abe6]['id'];if(_[_0xc374('0xe')](this[_0xc374('0x6')][_0xc374('0x14')][_0x33327a])){logger[_0xc374('0x1b')](_0xc374('0x12'),this[_0xc374('0x5')]['id'],_0x33327a);}else{util[_0xc374('0x1e')](this[_0xc374('0x4')],this[_0xc374('0x5')]['id'],this[_0xc374('0x6')][_0xc374('0x14')][_0x33327a],this['queue'],this[_0xc374('0x3')]);util['writeLog'](this[_0xc374('0x5')]['id'],this[_0xc374('0x6')][_0xc374('0x14')][_0x33327a],_0x10b1a0?'STOP':_0xc374('0x1f'));this[_0xc374('0x6')]['agents'][_0x33327a][_0xc374('0x18')]=![];this[_0xc374('0x6')][_0xc374('0x14')][_0x33327a][_0xc374('0x19')]=undefined;}}}if(!_0x10b1a0){setTimeout(this[_0xc374('0x7')][_0xc374('0xc')](this),0x3e8);}};function beepall(_0x756eb7,_0x5b1916,_0x5a3dee,_0x540f26){return new Beepall(_0x756eb7,_0x5b1916,_0x5a3dee,_0x540f26);}module[_0xc374('0x20')]=beepall;