Built motion from commit bab6f49e.|2.6.17
[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 _0x46a4=['busyQueue','name','saveWaitingNotification','showNotification','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','hideNotification','STOP','TIMEOUT','busy','removeWaitingNotification','uuid','../../../../../config/logger','routing','notificationId','squeue','queue','push','bind','handleTimeout','timeout','drained','handleDrained','prototype','handleRun','isNil','Agents','length','realtime','agents','debug','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','channel','writeLog','RINGING'];(function(_0x30e0c2,_0x1d9a14){var _0x3f52d1=function(_0x5bf167){while(--_0x5bf167){_0x30e0c2['push'](_0x30e0c2['shift']());}};_0x3f52d1(++_0x1d9a14);}(_0x46a4,0x123));var _0x446a=function(_0x158e9f,_0x4fee7a){_0x158e9f=_0x158e9f-0x0;var _0x32ade3=_0x46a4[_0x158e9f];return _0x32ade3;};'use strict';var _=require('lodash');var uuid=require(_0x446a('0x0'));var util=require('./util');var logger=require(_0x446a('0x1'))(_0x446a('0x2'));var Beepall=function(_0x10e4cb,_0x25cdbf,_0x2b4f7d,_0x263d41){this[_0x446a('0x3')]=uuid['v4']();this[_0x446a('0x4')]=_0x10e4cb;this[_0x446a('0x5')]=_0x25cdbf;this['realtime']=_0x2b4f7d;this[_0x446a('0x2')]=_0x263d41;this[_0x446a('0x4')][_0x446a('0x6')](this['handleRun'][_0x446a('0x7')](this),this[_0x446a('0x8')]['bind'](this));this[_0x446a('0x4')]['on'](_0x446a('0x9'),this[_0x446a('0x8')]['bind'](this));this['squeue']['on'](_0x446a('0xa'),this[_0x446a('0xb')][_0x446a('0x7')](this));};Beepall[_0x446a('0xc')]['push']=function(){this[_0x446a('0x4')]['push'](this['handleRun'][_0x446a('0x7')](this),this[_0x446a('0x8')][_0x446a('0x7')](this));};Beepall[_0x446a('0xc')][_0x446a('0xb')]=function(){this[_0x446a('0x8')](!![]);};Beepall[_0x446a('0xc')][_0x446a('0xd')]=function(){var _0x154a83=!![];if(!_[_0x446a('0xe')](this[_0x446a('0x5')])&&!_[_0x446a('0xe')](this[_0x446a('0x5')][_0x446a('0xf')])&&this[_0x446a('0x5')]['Agents'][_0x446a('0x10')]>0x0){for(var _0x298264=0x0,_0x2c9143;_0x298264<this[_0x446a('0x5')][_0x446a('0xf')][_0x446a('0x10')];_0x298264+=0x1){_0x2c9143=this['queue']['Agents'][_0x298264]['id'];if(_[_0x446a('0xe')](this[_0x446a('0x11')][_0x446a('0x12')][_0x2c9143])){logger[_0x446a('0x13')](_0x446a('0x14'),this['squeue']['id'],_0x2c9143);}else{if(util['isAgentAvailable'](this[_0x446a('0x4')]['id'],this['realtime'][_0x446a('0x12')][_0x2c9143],this[_0x446a('0x4')][_0x446a('0x15')],!![])){_0x154a83=![];util[_0x446a('0x16')](this[_0x446a('0x4')]['id'],this[_0x446a('0x11')][_0x446a('0x12')][_0x2c9143],_0x446a('0x17'));this[_0x446a('0x11')][_0x446a('0x12')][_0x2c9143]['busy']=!![];this[_0x446a('0x11')][_0x446a('0x12')][_0x2c9143][_0x446a('0x18')]=this[_0x446a('0x5')][_0x446a('0x19')];util[_0x446a('0x1a')](this[_0x446a('0x11')],this[_0x446a('0x2')],this[_0x446a('0x5')][_0x446a('0xf')][_0x298264],this[_0x446a('0x4')][_0x446a('0x15')]);util[_0x446a('0x1b')](this['notificationId'],this[_0x446a('0x4')]['id'],this[_0x446a('0x11')][_0x446a('0x12')][_0x2c9143],this[_0x446a('0x5')],this[_0x446a('0x2')]);}}}if(_0x154a83){logger['debug'](_0x446a('0x1c'),this[_0x446a('0x4')]['id']);setTimeout(this[_0x446a('0x6')][_0x446a('0x7')](this),0x3e8);}}else{logger[_0x446a('0x13')](_0x446a('0x1d'),this[_0x446a('0x4')]['id']);setTimeout(this[_0x446a('0x6')]['bind'](this),0x3e8);}};Beepall['prototype'][_0x446a('0x8')]=function(_0x5be2c0){if(!_[_0x446a('0xe')](this['queue'])&&!_[_0x446a('0xe')](this[_0x446a('0x5')]['Agents'])){for(var _0x4bf73e=0x0,_0x5b5d2c;_0x4bf73e<this[_0x446a('0x5')]['Agents'][_0x446a('0x10')];_0x4bf73e+=0x1){_0x5b5d2c=this[_0x446a('0x5')][_0x446a('0xf')][_0x4bf73e]['id'];if(_[_0x446a('0xe')](this[_0x446a('0x11')][_0x446a('0x12')][_0x5b5d2c])){logger[_0x446a('0x13')](_0x446a('0x14'),this[_0x446a('0x4')]['id'],_0x5b5d2c);}else{util[_0x446a('0x1e')](this[_0x446a('0x3')],this['squeue']['id'],this[_0x446a('0x11')]['agents'][_0x5b5d2c],this[_0x446a('0x5')],this['routing']);util[_0x446a('0x16')](this[_0x446a('0x4')]['id'],this[_0x446a('0x11')][_0x446a('0x12')][_0x5b5d2c],_0x5be2c0?_0x446a('0x1f'):_0x446a('0x20'));this['realtime']['agents'][_0x5b5d2c][_0x446a('0x21')]=![];this[_0x446a('0x11')]['agents'][_0x5b5d2c]['busyQueue']=undefined;util[_0x446a('0x22')](this[_0x446a('0x11')],this['routing'],this['realtime']['agents'][_0x5b5d2c],this[_0x446a('0x4')]['channel']);}}}if(!_0x5be2c0){setTimeout(this[_0x446a('0x6')][_0x446a('0x7')](this),0x3e8);}};function beepall(_0x4f51a0,_0x567de8,_0x228cf3,_0x28d37f){return new Beepall(_0x4f51a0,_0x567de8,_0x228cf3,_0x28d37f);}module['exports']=beepall;