74f54bceb10d74a6849fe81e7f76c707d72aa1de
[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 _0xea89=['notificationId','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','STOP','TIMEOUT','exports','lodash','uuid','./util','../../../../../config/logger','routing','squeue','queue','realtime','push','handleRun','handleTimeout','bind','timeout','drained','handleDrained','prototype','isNil','length','Agents','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','writeLog','RINGING','busyQueue','name','showNotification'];(function(_0xc6be3a,_0x540e05){var _0x56a310=function(_0x50a144){while(--_0x50a144){_0xc6be3a['push'](_0xc6be3a['shift']());}};_0x56a310(++_0x540e05);}(_0xea89,0x1e2));var _0x9ea8=function(_0x217094,_0x311819){_0x217094=_0x217094-0x0;var _0x33cfa8=_0xea89[_0x217094];return _0x33cfa8;};'use strict';var _=require(_0x9ea8('0x0'));var uuid=require(_0x9ea8('0x1'));var util=require(_0x9ea8('0x2'));var logger=require(_0x9ea8('0x3'))(_0x9ea8('0x4'));var Beepall=function(_0x58dc99,_0x41e322,_0x520915,_0x226d05){this['notificationId']=uuid['v4']();this[_0x9ea8('0x5')]=_0x58dc99;this[_0x9ea8('0x6')]=_0x41e322;this[_0x9ea8('0x7')]=_0x520915;this[_0x9ea8('0x4')]=_0x226d05;this[_0x9ea8('0x5')][_0x9ea8('0x8')](this[_0x9ea8('0x9')]['bind'](this),this[_0x9ea8('0xa')][_0x9ea8('0xb')](this));this['squeue']['on'](_0x9ea8('0xc'),this[_0x9ea8('0xa')][_0x9ea8('0xb')](this));this['squeue']['on'](_0x9ea8('0xd'),this[_0x9ea8('0xe')][_0x9ea8('0xb')](this));};Beepall[_0x9ea8('0xf')][_0x9ea8('0x8')]=function(){this[_0x9ea8('0x5')][_0x9ea8('0x8')](this['handleRun'][_0x9ea8('0xb')](this),this[_0x9ea8('0xa')][_0x9ea8('0xb')](this));};Beepall['prototype'][_0x9ea8('0xe')]=function(_0x1017ce){this[_0x9ea8('0xa')](!![]);};Beepall[_0x9ea8('0xf')][_0x9ea8('0x9')]=function(_0x19324d){var _0x8d81f7=!![];if(!_['isNil'](this[_0x9ea8('0x6')])&&!_[_0x9ea8('0x10')](this[_0x9ea8('0x6')]['Agents'])&&this[_0x9ea8('0x6')]['Agents'][_0x9ea8('0x11')]>0x0){for(var _0x26de62=0x0,_0x46c41c;_0x26de62<this[_0x9ea8('0x6')][_0x9ea8('0x12')][_0x9ea8('0x11')];_0x26de62+=0x1){_0x46c41c=this[_0x9ea8('0x6')]['Agents'][_0x26de62]['id'];if(_[_0x9ea8('0x10')](this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x46c41c])){logger[_0x9ea8('0x14')](_0x9ea8('0x15'),this[_0x9ea8('0x5')]['id'],_0x46c41c);}else{if(util[_0x9ea8('0x16')](this[_0x9ea8('0x5')]['id'],this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x46c41c],this[_0x9ea8('0x5')]['channel'],!![])){_0x8d81f7=![];util[_0x9ea8('0x17')](this['squeue']['id'],this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x46c41c],_0x9ea8('0x18'));this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x46c41c]['busy']=!![];this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x46c41c][_0x9ea8('0x19')]=this[_0x9ea8('0x6')][_0x9ea8('0x1a')];util[_0x9ea8('0x1b')](this[_0x9ea8('0x1c')],this['squeue']['id'],this['realtime'][_0x9ea8('0x13')][_0x46c41c],this[_0x9ea8('0x6')],this['routing']);}}}if(_0x8d81f7){logger[_0x9ea8('0x14')](_0x9ea8('0x1d'),this[_0x9ea8('0x5')]['id']);setTimeout(this['push']['bind'](this),0x3e8);}}else{logger[_0x9ea8('0x14')](_0x9ea8('0x1e'),this[_0x9ea8('0x5')]['id']);setTimeout(this[_0x9ea8('0x8')]['bind'](this),0x3e8);}};Beepall['prototype'][_0x9ea8('0xa')]=function(_0x1f90bf){if(!_[_0x9ea8('0x10')](this[_0x9ea8('0x6')])&&!_[_0x9ea8('0x10')](this[_0x9ea8('0x6')]['Agents'])){for(var _0x1fa2b7=0x0,_0x298944;_0x1fa2b7<this[_0x9ea8('0x6')][_0x9ea8('0x12')][_0x9ea8('0x11')];_0x1fa2b7+=0x1){_0x298944=this[_0x9ea8('0x6')][_0x9ea8('0x12')][_0x1fa2b7]['id'];if(_[_0x9ea8('0x10')](this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x298944])){logger[_0x9ea8('0x14')](_0x9ea8('0x15'),this['squeue']['id'],_0x298944);}else{util['hideNotification'](this[_0x9ea8('0x1c')],this['squeue']['id'],this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x298944],this[_0x9ea8('0x6')],this[_0x9ea8('0x4')]);util['writeLog'](this[_0x9ea8('0x5')]['id'],this[_0x9ea8('0x7')][_0x9ea8('0x13')][_0x298944],_0x1f90bf?_0x9ea8('0x1f'):_0x9ea8('0x20'));this[_0x9ea8('0x7')]['agents'][_0x298944]['busy']=![];this[_0x9ea8('0x7')]['agents'][_0x298944][_0x9ea8('0x19')]=undefined;}}}if(!_0x1f90bf){setTimeout(this[_0x9ea8('0x8')][_0x9ea8('0xb')](this),0x3e8);}};function beepall(_0x5c610e,_0x35b8c4,_0x55c521,_0x3b1622){return new Beepall(_0x5c610e,_0x35b8c4,_0x55c521,_0x3b1622);}module[_0x9ea8('0x21')]=beepall;