Built motion from commit (unavailable).|2.5.27
[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 _0x66be=['drained','handleDrained','prototype','isNil','Agents','length','agents','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','channel','RINGING','busy','name','showNotification','info','push','hideNotification','STOP','TIMEOUT','exports','lodash','uuid','./util','routing','notificationId','queue','realtime','squeue','handleRun','bind','handleTimeout','timeout'];(function(_0x5b36bd,_0x4dfb36){var _0x1614fe=function(_0x559b7c){while(--_0x559b7c){_0x5b36bd['push'](_0x5b36bd['shift']());}};_0x1614fe(++_0x4dfb36);}(_0x66be,0xec));var _0xe66b=function(_0x331e8a,_0x2ee8b1){_0x331e8a=_0x331e8a-0x0;var _0x4c97fc=_0x66be[_0x331e8a];return _0x4c97fc;};'use strict';var _=require(_0xe66b('0x0'));var uuid=require(_0xe66b('0x1'));var util=require(_0xe66b('0x2'));var logger=require('../../../../../config/logger')(_0xe66b('0x3'));var Beepall=function(_0x51388f,_0x372a72,_0x536b33,_0x4e2653){this[_0xe66b('0x4')]=uuid['v4']();this['squeue']=_0x51388f;this[_0xe66b('0x5')]=_0x372a72;this[_0xe66b('0x6')]=_0x536b33;this[_0xe66b('0x3')]=_0x4e2653;this[_0xe66b('0x7')]['push'](this[_0xe66b('0x8')][_0xe66b('0x9')](this),this[_0xe66b('0xa')]['bind'](this));this[_0xe66b('0x7')]['on'](_0xe66b('0xb'),this['handleTimeout'][_0xe66b('0x9')](this));this[_0xe66b('0x7')]['on'](_0xe66b('0xc'),this[_0xe66b('0xd')][_0xe66b('0x9')](this));};Beepall[_0xe66b('0xe')]['push']=function(){this[_0xe66b('0x7')]['push'](this[_0xe66b('0x8')]['bind'](this),this[_0xe66b('0xa')][_0xe66b('0x9')](this));};Beepall[_0xe66b('0xe')][_0xe66b('0xd')]=function(_0x254b82){this['handleTimeout'](!![]);};Beepall[_0xe66b('0xe')][_0xe66b('0x8')]=function(_0x1fde1d){var _0xaeac49=!![];if(!_[_0xe66b('0xf')](this[_0xe66b('0x5')])&&!_['isNil'](this[_0xe66b('0x5')][_0xe66b('0x10')])&&this[_0xe66b('0x5')][_0xe66b('0x10')][_0xe66b('0x11')]>0x0){for(var _0x1064ab=0x0,_0x2602c7;_0x1064ab<this[_0xe66b('0x5')][_0xe66b('0x10')][_0xe66b('0x11')];_0x1064ab+=0x1){_0x2602c7=this[_0xe66b('0x5')][_0xe66b('0x10')][_0x1064ab]['id'];if(_[_0xe66b('0xf')](this['realtime'][_0xe66b('0x12')][_0x2602c7])){logger['info'](_0xe66b('0x13'),this[_0xe66b('0x7')]['id'],_0x2602c7);}else{if(util['isAgentAvailable'](this[_0xe66b('0x7')]['id'],this[_0xe66b('0x6')][_0xe66b('0x12')][_0x2602c7],this[_0xe66b('0x7')][_0xe66b('0x14')],!![])){_0xaeac49=![];util['writeLog'](this['squeue']['id'],this[_0xe66b('0x6')]['agents'][_0x2602c7],_0xe66b('0x15'));this[_0xe66b('0x6')][_0xe66b('0x12')][_0x2602c7][_0xe66b('0x16')]=!![];this[_0xe66b('0x6')][_0xe66b('0x12')][_0x2602c7]['busyQueue']=this[_0xe66b('0x5')][_0xe66b('0x17')];util[_0xe66b('0x18')](this[_0xe66b('0x4')],this[_0xe66b('0x7')]['id'],this[_0xe66b('0x6')][_0xe66b('0x12')][_0x2602c7],this[_0xe66b('0x5')],this[_0xe66b('0x3')]);}}}if(_0xaeac49){logger[_0xe66b('0x19')]('[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY',this[_0xe66b('0x7')]['id']);setTimeout(this['push']['bind'](this),0x3e8);}}else{logger[_0xe66b('0x19')]('[%s][QUEUE]\x20EMPTY',this[_0xe66b('0x7')]['id']);setTimeout(this[_0xe66b('0x1a')][_0xe66b('0x9')](this),0x3e8);}};Beepall[_0xe66b('0xe')]['handleTimeout']=function(_0x57e286){if(!_['isNil'](this[_0xe66b('0x5')])&&!_[_0xe66b('0xf')](this[_0xe66b('0x5')][_0xe66b('0x10')])){for(var _0x10a26b=0x0,_0x1ca345;_0x10a26b<this[_0xe66b('0x5')][_0xe66b('0x10')][_0xe66b('0x11')];_0x10a26b+=0x1){_0x1ca345=this['queue']['Agents'][_0x10a26b]['id'];if(_[_0xe66b('0xf')](this[_0xe66b('0x6')][_0xe66b('0x12')][_0x1ca345])){logger[_0xe66b('0x19')](_0xe66b('0x13'),this[_0xe66b('0x7')]['id'],_0x1ca345);}else{util[_0xe66b('0x1b')](this[_0xe66b('0x4')],this['squeue']['id'],this[_0xe66b('0x6')][_0xe66b('0x12')][_0x1ca345],this['queue'],this[_0xe66b('0x3')]);util['writeLog'](this[_0xe66b('0x7')]['id'],this[_0xe66b('0x6')]['agents'][_0x1ca345],_0x57e286?_0xe66b('0x1c'):_0xe66b('0x1d'));this['realtime'][_0xe66b('0x12')][_0x1ca345][_0xe66b('0x16')]=![];this[_0xe66b('0x6')]['agents'][_0x1ca345]['busyQueue']=undefined;}}}if(!_0x57e286){setTimeout(this[_0xe66b('0x1a')][_0xe66b('0x9')](this),0x3e8);}};function beepall(_0x32e9e4,_0x2794be,_0x4ce0aa,_0x3b222f){return new Beepall(_0x32e9e4,_0x2794be,_0x4ce0aa,_0x3b222f);}module[_0xe66b('0x1e')]=beepall;