Built motion from commit (unavailable).|2.5.10
[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 _0xd276=['STOP','TIMEOUT','exports','lodash','./util','routing','notificationId','squeue','queue','realtime','push','handleRun','bind','handleTimeout','handleDrained','isNil','Agents','length','agents','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','channel','writeLog','busy','busyQueue','showNotification','info','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','prototype','hideNotification'];(function(_0x397e5f,_0x454c8f){var _0x5302b8=function(_0x1a29ef){while(--_0x1a29ef){_0x397e5f['push'](_0x397e5f['shift']());}};_0x5302b8(++_0x454c8f);}(_0xd276,0x11a));var _0x6d27=function(_0x12d033,_0x25fa2f){_0x12d033=_0x12d033-0x0;var _0x3b4e80=_0xd276[_0x12d033];return _0x3b4e80;};'use strict';var _=require(_0x6d27('0x0'));var uuid=require('uuid');var util=require(_0x6d27('0x1'));var logger=require('../../../../../config/logger')(_0x6d27('0x2'));var Beepall=function(_0x402e7e,_0x162a6c,_0x1b6060,_0x597c15){this[_0x6d27('0x3')]=uuid['v4']();this[_0x6d27('0x4')]=_0x402e7e;this[_0x6d27('0x5')]=_0x162a6c;this[_0x6d27('0x6')]=_0x1b6060;this[_0x6d27('0x2')]=_0x597c15;this['squeue'][_0x6d27('0x7')](this[_0x6d27('0x8')][_0x6d27('0x9')](this),this[_0x6d27('0xa')][_0x6d27('0x9')](this));this[_0x6d27('0x4')]['on']('timeout',this[_0x6d27('0xa')]['bind'](this));this[_0x6d27('0x4')]['on']('drained',this[_0x6d27('0xb')][_0x6d27('0x9')](this));};Beepall['prototype'][_0x6d27('0x7')]=function(){this[_0x6d27('0x4')][_0x6d27('0x7')](this[_0x6d27('0x8')]['bind'](this),this[_0x6d27('0xa')][_0x6d27('0x9')](this));};Beepall['prototype'][_0x6d27('0xb')]=function(_0xe23dae){this[_0x6d27('0xa')](!![]);};Beepall['prototype']['handleRun']=function(_0xac2cae){var _0x4de6cf=!![];if(!_[_0x6d27('0xc')](this[_0x6d27('0x5')])&&!_[_0x6d27('0xc')](this[_0x6d27('0x5')][_0x6d27('0xd')])&&this[_0x6d27('0x5')]['Agents']['length']>0x0){for(var _0x25aaab=0x0,_0x2a5a3a;_0x25aaab<this['queue'][_0x6d27('0xd')][_0x6d27('0xe')];_0x25aaab+=0x1){_0x2a5a3a=this[_0x6d27('0x5')]['Agents'][_0x25aaab]['id'];if(_[_0x6d27('0xc')](this[_0x6d27('0x6')][_0x6d27('0xf')][_0x2a5a3a])){logger['info'](_0x6d27('0x10'),this[_0x6d27('0x4')]['id'],_0x2a5a3a);}else{if(util[_0x6d27('0x11')](this[_0x6d27('0x4')]['id'],this[_0x6d27('0x6')][_0x6d27('0xf')][_0x2a5a3a],this['squeue'][_0x6d27('0x12')],!![])){_0x4de6cf=![];util[_0x6d27('0x13')](this[_0x6d27('0x4')]['id'],this[_0x6d27('0x6')][_0x6d27('0xf')][_0x2a5a3a],'RINGING');this['realtime'][_0x6d27('0xf')][_0x2a5a3a][_0x6d27('0x14')]=!![];this[_0x6d27('0x6')][_0x6d27('0xf')][_0x2a5a3a][_0x6d27('0x15')]=this[_0x6d27('0x5')]['name'];util[_0x6d27('0x16')](this['notificationId'],this[_0x6d27('0x4')]['id'],this['realtime'][_0x6d27('0xf')][_0x2a5a3a],this[_0x6d27('0x5')],this['routing']);}}}if(_0x4de6cf){logger[_0x6d27('0x17')](_0x6d27('0x18'),this[_0x6d27('0x4')]['id']);setTimeout(this[_0x6d27('0x7')][_0x6d27('0x9')](this),0x3e8);}}else{logger[_0x6d27('0x17')](_0x6d27('0x19'),this['squeue']['id']);setTimeout(this[_0x6d27('0x7')]['bind'](this),0x3e8);}};Beepall[_0x6d27('0x1a')][_0x6d27('0xa')]=function(_0x3c4684){if(!_['isNil'](this['queue'])&&!_['isNil'](this[_0x6d27('0x5')][_0x6d27('0xd')])){for(var _0x3b6a71=0x0,_0x94ff8d;_0x3b6a71<this[_0x6d27('0x5')][_0x6d27('0xd')][_0x6d27('0xe')];_0x3b6a71+=0x1){_0x94ff8d=this['queue'][_0x6d27('0xd')][_0x3b6a71]['id'];if(_[_0x6d27('0xc')](this[_0x6d27('0x6')][_0x6d27('0xf')][_0x94ff8d])){logger['info'](_0x6d27('0x10'),this[_0x6d27('0x4')]['id'],_0x94ff8d);}else{util[_0x6d27('0x1b')](this[_0x6d27('0x3')],this[_0x6d27('0x4')]['id'],this['realtime'][_0x6d27('0xf')][_0x94ff8d],this['queue'],this[_0x6d27('0x2')]);util[_0x6d27('0x13')](this[_0x6d27('0x4')]['id'],this[_0x6d27('0x6')][_0x6d27('0xf')][_0x94ff8d],_0x3c4684?_0x6d27('0x1c'):_0x6d27('0x1d'));this['realtime'][_0x6d27('0xf')][_0x94ff8d][_0x6d27('0x14')]=![];this[_0x6d27('0x6')][_0x6d27('0xf')][_0x94ff8d][_0x6d27('0x15')]=undefined;}}}if(!_0x3c4684){setTimeout(this[_0x6d27('0x7')][_0x6d27('0x9')](this),0x3e8);}};function beepall(_0x967387,_0x14bc53,_0x2b8fb5,_0x391ffa){return new Beepall(_0x967387,_0x14bc53,_0x2b8fb5,_0x391ffa);}module[_0x6d27('0x1e')]=beepall;