Built motion from commit (unavailable).|2.4.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 _0x00df=['handleDrained','prototype','isNil','queue','Agents','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','channel','writeLog','RINGING','busy','busyQueue','name','showNotification','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','length','hideNotification','STOP','uuid','./util','routing','notificationId','realtime','squeue','push','handleRun','handleTimeout','timeout','bind','drained'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x00df,0x15f));var _0xf00d=function(_0x411aec,_0x16af3d){_0x411aec=_0x411aec-0x0;var _0x29150f=_0x00df[_0x411aec];return _0x29150f;};'use strict';var _=require('lodash');var uuid=require(_0xf00d('0x0'));var util=require(_0xf00d('0x1'));var logger=require('../../../../../config/logger')(_0xf00d('0x2'));var Beepall=function(_0xe74bb8,_0x1b72db,_0x28ae90,_0x184df2){this[_0xf00d('0x3')]=uuid['v4']();this['squeue']=_0xe74bb8;this['queue']=_0x1b72db;this[_0xf00d('0x4')]=_0x28ae90;this[_0xf00d('0x2')]=_0x184df2;this[_0xf00d('0x5')][_0xf00d('0x6')](this[_0xf00d('0x7')]['bind'](this),this[_0xf00d('0x8')]['bind'](this));this[_0xf00d('0x5')]['on'](_0xf00d('0x9'),this[_0xf00d('0x8')][_0xf00d('0xa')](this));this['squeue']['on'](_0xf00d('0xb'),this[_0xf00d('0xc')][_0xf00d('0xa')](this));};Beepall[_0xf00d('0xd')][_0xf00d('0x6')]=function(){this['squeue'][_0xf00d('0x6')](this['handleRun'][_0xf00d('0xa')](this),this['handleTimeout'][_0xf00d('0xa')](this));};Beepall[_0xf00d('0xd')][_0xf00d('0xc')]=function(_0x5bd7d6){this['handleTimeout'](!![]);};Beepall['prototype'][_0xf00d('0x7')]=function(_0x5e4634){var _0x4eeed0=!![];if(!_[_0xf00d('0xe')](this[_0xf00d('0xf')])&&!_[_0xf00d('0xe')](this[_0xf00d('0xf')][_0xf00d('0x10')])&&this[_0xf00d('0xf')][_0xf00d('0x10')]['length']>0x0){for(var _0x2268fe=0x0,_0x2d552a;_0x2268fe<this['queue'][_0xf00d('0x10')]['length'];_0x2268fe+=0x1){_0x2d552a=this[_0xf00d('0xf')]['Agents'][_0x2268fe]['id'];if(_[_0xf00d('0xe')](this[_0xf00d('0x4')][_0xf00d('0x11')][_0x2d552a])){logger[_0xf00d('0x12')](_0xf00d('0x13'),this[_0xf00d('0x5')]['id'],_0x2d552a);}else{if(util[_0xf00d('0x14')](this[_0xf00d('0x5')]['id'],this[_0xf00d('0x4')][_0xf00d('0x11')][_0x2d552a],this[_0xf00d('0x5')][_0xf00d('0x15')],!![])){_0x4eeed0=![];util[_0xf00d('0x16')](this[_0xf00d('0x5')]['id'],this[_0xf00d('0x4')][_0xf00d('0x11')][_0x2d552a],_0xf00d('0x17'));this[_0xf00d('0x4')][_0xf00d('0x11')][_0x2d552a][_0xf00d('0x18')]=!![];this[_0xf00d('0x4')]['agents'][_0x2d552a][_0xf00d('0x19')]=this[_0xf00d('0xf')][_0xf00d('0x1a')];util[_0xf00d('0x1b')](this['notificationId'],this[_0xf00d('0x5')]['id'],this[_0xf00d('0x4')][_0xf00d('0x11')][_0x2d552a],this['queue'],this[_0xf00d('0x2')]);}}}if(_0x4eeed0){logger[_0xf00d('0x12')](_0xf00d('0x1c'),this['squeue']['id']);setTimeout(this[_0xf00d('0x6')][_0xf00d('0xa')](this),0x3e8);}}else{logger[_0xf00d('0x12')](_0xf00d('0x1d'),this[_0xf00d('0x5')]['id']);setTimeout(this[_0xf00d('0x6')][_0xf00d('0xa')](this),0x3e8);}};Beepall['prototype'][_0xf00d('0x8')]=function(_0x4f27e3){if(!_['isNil'](this['queue'])&&!_[_0xf00d('0xe')](this[_0xf00d('0xf')][_0xf00d('0x10')])){for(var _0x50c295=0x0,_0x3303d6;_0x50c295<this[_0xf00d('0xf')][_0xf00d('0x10')][_0xf00d('0x1e')];_0x50c295+=0x1){_0x3303d6=this['queue']['Agents'][_0x50c295]['id'];if(_[_0xf00d('0xe')](this[_0xf00d('0x4')][_0xf00d('0x11')][_0x3303d6])){logger[_0xf00d('0x12')]('[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s',this['squeue']['id'],_0x3303d6);}else{util[_0xf00d('0x1f')](this[_0xf00d('0x3')],this[_0xf00d('0x5')]['id'],this[_0xf00d('0x4')]['agents'][_0x3303d6],this[_0xf00d('0xf')],this['routing']);util[_0xf00d('0x16')](this[_0xf00d('0x5')]['id'],this[_0xf00d('0x4')][_0xf00d('0x11')][_0x3303d6],_0x4f27e3?_0xf00d('0x20'):'TIMEOUT');this[_0xf00d('0x4')]['agents'][_0x3303d6][_0xf00d('0x18')]=![];this[_0xf00d('0x4')][_0xf00d('0x11')][_0x3303d6]['busyQueue']=undefined;}}}if(!_0x4f27e3){setTimeout(this[_0xf00d('0x6')][_0xf00d('0xa')](this),0x3e8);}};function beepall(_0x338ab9,_0x7a48a8,_0xcaf1f4,_0x591718){return new Beepall(_0x338ab9,_0x7a48a8,_0xcaf1f4,_0x591718);}module['exports']=beepall;