Built motion from commit (unavailable).|2.4.4
[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 _0x70d7=['handleDrained','prototype','isNil','queue','Agents','length','agents','info','realtime','channel','writeLog','busy','name','showNotification','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','STOP','TIMEOUT','busyQueue','exports','lodash','uuid','./util','routing','notificationId','squeue','push','handleRun','handleTimeout','bind','drained'];(function(_0x5430a6,_0x28facd){var _0xeb7937=function(_0x2ffee3){while(--_0x2ffee3){_0x5430a6['push'](_0x5430a6['shift']());}};_0xeb7937(++_0x28facd);}(_0x70d7,0x71));var _0x770d=function(_0x552dee,_0x1e45b0){_0x552dee=_0x552dee-0x0;var _0x30072e=_0x70d7[_0x552dee];return _0x30072e;};'use strict';var _=require(_0x770d('0x0'));var uuid=require(_0x770d('0x1'));var util=require(_0x770d('0x2'));var logger=require('../../../../../config/logger')(_0x770d('0x3'));var Beepall=function(_0x41df35,_0x57ef48,_0x25ebfe,_0x24be87){this[_0x770d('0x4')]=uuid['v4']();this[_0x770d('0x5')]=_0x41df35;this['queue']=_0x57ef48;this['realtime']=_0x25ebfe;this[_0x770d('0x3')]=_0x24be87;this[_0x770d('0x5')][_0x770d('0x6')](this[_0x770d('0x7')]['bind'](this),this[_0x770d('0x8')][_0x770d('0x9')](this));this['squeue']['on']('timeout',this[_0x770d('0x8')][_0x770d('0x9')](this));this[_0x770d('0x5')]['on'](_0x770d('0xa'),this[_0x770d('0xb')][_0x770d('0x9')](this));};Beepall[_0x770d('0xc')]['push']=function(){this['squeue']['push'](this[_0x770d('0x7')][_0x770d('0x9')](this),this[_0x770d('0x8')][_0x770d('0x9')](this));};Beepall[_0x770d('0xc')][_0x770d('0xb')]=function(_0x3ec57a){this[_0x770d('0x8')](!![]);};Beepall['prototype'][_0x770d('0x7')]=function(_0x49abb8){var _0x13162e=!![];if(!_[_0x770d('0xd')](this[_0x770d('0xe')])&&!_['isNil'](this[_0x770d('0xe')][_0x770d('0xf')])&&this[_0x770d('0xe')][_0x770d('0xf')][_0x770d('0x10')]>0x0){for(var _0x470b21=0x0,_0x4632f1;_0x470b21<this['queue'][_0x770d('0xf')][_0x770d('0x10')];_0x470b21+=0x1){_0x4632f1=this[_0x770d('0xe')][_0x770d('0xf')][_0x470b21]['id'];if(_['isNil'](this['realtime'][_0x770d('0x11')][_0x4632f1])){logger[_0x770d('0x12')]('[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s',this[_0x770d('0x5')]['id'],_0x4632f1);}else{if(util['isAgentAvailable'](this['squeue']['id'],this[_0x770d('0x13')][_0x770d('0x11')][_0x4632f1],this[_0x770d('0x5')][_0x770d('0x14')],!![])){_0x13162e=![];util[_0x770d('0x15')](this[_0x770d('0x5')]['id'],this[_0x770d('0x13')][_0x770d('0x11')][_0x4632f1],'RINGING');this['realtime'][_0x770d('0x11')][_0x4632f1][_0x770d('0x16')]=!![];this['realtime']['agents'][_0x4632f1]['busyQueue']=this[_0x770d('0xe')][_0x770d('0x17')];util[_0x770d('0x18')](this[_0x770d('0x4')],this[_0x770d('0x5')]['id'],this[_0x770d('0x13')]['agents'][_0x4632f1],this[_0x770d('0xe')],this['routing']);}}}if(_0x13162e){logger[_0x770d('0x12')](_0x770d('0x19'),this['squeue']['id']);setTimeout(this['push'][_0x770d('0x9')](this),0x3e8);}}else{logger[_0x770d('0x12')]('[%s][QUEUE]\x20EMPTY',this[_0x770d('0x5')]['id']);setTimeout(this[_0x770d('0x6')][_0x770d('0x9')](this),0x3e8);}};Beepall[_0x770d('0xc')]['handleTimeout']=function(_0x3cec41){if(!_[_0x770d('0xd')](this[_0x770d('0xe')])&&!_[_0x770d('0xd')](this[_0x770d('0xe')][_0x770d('0xf')])){for(var _0x5ab8e8=0x0,_0x7d7359;_0x5ab8e8<this[_0x770d('0xe')]['Agents'][_0x770d('0x10')];_0x5ab8e8+=0x1){_0x7d7359=this[_0x770d('0xe')][_0x770d('0xf')][_0x5ab8e8]['id'];if(_['isNil'](this[_0x770d('0x13')]['agents'][_0x7d7359])){logger[_0x770d('0x12')](_0x770d('0x1a'),this[_0x770d('0x5')]['id'],_0x7d7359);}else{util['hideNotification'](this[_0x770d('0x4')],this[_0x770d('0x5')]['id'],this[_0x770d('0x13')][_0x770d('0x11')][_0x7d7359],this[_0x770d('0xe')],this[_0x770d('0x3')]);util[_0x770d('0x15')](this['squeue']['id'],this[_0x770d('0x13')][_0x770d('0x11')][_0x7d7359],_0x3cec41?_0x770d('0x1b'):_0x770d('0x1c'));this[_0x770d('0x13')][_0x770d('0x11')][_0x7d7359]['busy']=![];this['realtime'][_0x770d('0x11')][_0x7d7359][_0x770d('0x1d')]=undefined;}}}if(!_0x3cec41){setTimeout(this[_0x770d('0x6')]['bind'](this),0x3e8);}};function beepall(_0x46a1da,_0x416371,_0x3fd23e,_0x20c6c4){return new Beepall(_0x46a1da,_0x416371,_0x3fd23e,_0x20c6c4);}module[_0x770d('0x1e')]=beepall;