Built motion from commit 67e5df37.|2.0.66
[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 _0xb9a7=['busy','busyQueue','hideNotification','exports','uuid','notificationId','squeue','queue','realtime','routing','length','floor','atimeout','push','bind','handleTimeout','handleRun','drained','prototype','done','isNil','Agents','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','channel','writeLog','name','[%s][QUEUE]\x20EMPTY'];(function(_0x5dfd45,_0x2c5d80){var _0x337961=function(_0x3e37c4){while(--_0x3e37c4){_0x5dfd45['push'](_0x5dfd45['shift']());}};_0x337961(++_0x2c5d80);}(_0xb9a7,0x112));var _0x7b9a=function(_0x5d2803,_0xf375bd){_0x5d2803=_0x5d2803-0x0;var _0xdcad2c=_0xb9a7[_0x5d2803];return _0xdcad2c;};'use strict';var _=require('lodash');var uuid=require(_0x7b9a('0x0'));var util=require('./util');var logger=require('../../../../../config/logger')('routing');var Beepall=function(_0x4278a1,_0x559be2,_0x1396ec,_0x40ef7d){this[_0x7b9a('0x1')]=uuid['v4']();this[_0x7b9a('0x2')]=_0x4278a1;this[_0x7b9a('0x3')]=_0x559be2;this[_0x7b9a('0x4')]=_0x1396ec;this[_0x7b9a('0x5')]=_0x40ef7d;this[_0x7b9a('0x6')]=Math[_0x7b9a('0x7')](this[_0x7b9a('0x2')]['qtimeout']/this[_0x7b9a('0x2')][_0x7b9a('0x8')]);this['module']=this['squeue']['qtimeout']%this[_0x7b9a('0x2')][_0x7b9a('0x8')];for(var _0x4cf090=0x0;_0x4cf090<this[_0x7b9a('0x6')];_0x4cf090+=0x1){this['squeue'][_0x7b9a('0x9')](this['handleRun'][_0x7b9a('0xa')](this),this[_0x7b9a('0xb')][_0x7b9a('0xa')](this));}this['squeue'][_0x7b9a('0x9')](this[_0x7b9a('0xc')]['bind'](this),this[_0x7b9a('0xb')][_0x7b9a('0xa')](this),this['module']);this[_0x7b9a('0x2')]['on'](_0x7b9a('0xd'),this[_0x7b9a('0xb')][_0x7b9a('0xa')](this));};Beepall[_0x7b9a('0xe')][_0x7b9a('0x9')]=function(){this[_0x7b9a('0x2')][_0x7b9a('0x9')](this[_0x7b9a('0xc')]['bind'](this),this[_0x7b9a('0xb')]['bind'](this));};Beepall[_0x7b9a('0xe')][_0x7b9a('0xf')]=function(_0x271263){if(_0x271263){setTimeout(this[_0x7b9a('0x9')][_0x7b9a('0xa')](this),0x3e8);_0x271263[_0x7b9a('0xf')]();}};Beepall[_0x7b9a('0xe')][_0x7b9a('0xc')]=function(_0x2064a0){var _0x588c48=!![];if(!_[_0x7b9a('0x10')](this[_0x7b9a('0x3')])&&!_[_0x7b9a('0x10')](this['queue'][_0x7b9a('0x11')])&&this['queue'][_0x7b9a('0x11')]['length']>0x0){for(var _0x744887=0x0,_0x331ae6;_0x744887<this[_0x7b9a('0x3')]['Agents'][_0x7b9a('0x6')];_0x744887+=0x1){_0x331ae6=this[_0x7b9a('0x3')]['Agents'][_0x744887]['id'];if(_[_0x7b9a('0x10')](this[_0x7b9a('0x4')][_0x7b9a('0x12')][_0x331ae6])){logger[_0x7b9a('0x13')](_0x7b9a('0x14'),this['squeue']['id'],_0x331ae6);}else{if(util[_0x7b9a('0x15')](this[_0x7b9a('0x2')]['id'],this['realtime'][_0x7b9a('0x12')][_0x331ae6],this['squeue'][_0x7b9a('0x16')],!![])){_0x588c48=![];util[_0x7b9a('0x17')](this['squeue']['id'],this['realtime'][_0x7b9a('0x12')][_0x331ae6],'RINGING');this['realtime'][_0x7b9a('0x12')][_0x331ae6]['busy']=!![];this['realtime'][_0x7b9a('0x12')][_0x331ae6]['busyQueue']=this[_0x7b9a('0x3')][_0x7b9a('0x18')];util['showNotification'](this[_0x7b9a('0x1')],this[_0x7b9a('0x2')]['id'],this[_0x7b9a('0x4')]['agents'][_0x331ae6],this[_0x7b9a('0x3')],this[_0x7b9a('0x5')]);}}}if(_0x588c48){this[_0x7b9a('0xf')](_0x2064a0);}}else{logger[_0x7b9a('0x13')](_0x7b9a('0x19'),this[_0x7b9a('0x2')]['id']);this['done'](_0x2064a0);}};Beepall['prototype'][_0x7b9a('0xb')]=function(){if(!_[_0x7b9a('0x10')](this[_0x7b9a('0x3')])&&!_['isNil'](this[_0x7b9a('0x3')][_0x7b9a('0x11')])){for(var _0x4d5223=0x0,_0x4e7fcc;_0x4d5223<this[_0x7b9a('0x3')][_0x7b9a('0x11')]['length'];_0x4d5223+=0x1){_0x4e7fcc=this[_0x7b9a('0x3')][_0x7b9a('0x11')][_0x4d5223]['id'];if(_[_0x7b9a('0x10')](this[_0x7b9a('0x4')][_0x7b9a('0x12')][_0x4e7fcc])){logger['info'](_0x7b9a('0x14'),this[_0x7b9a('0x2')]['id'],_0x4e7fcc);}else{util[_0x7b9a('0x17')](this[_0x7b9a('0x2')]['id'],this[_0x7b9a('0x4')][_0x7b9a('0x12')][_0x4e7fcc],'TIMEOUT');this['realtime'][_0x7b9a('0x12')][_0x4e7fcc][_0x7b9a('0x1a')]=![];this['realtime'][_0x7b9a('0x12')][_0x4e7fcc][_0x7b9a('0x1b')]=undefined;util[_0x7b9a('0x1c')](this['notificationId'],this[_0x7b9a('0x2')]['id'],this[_0x7b9a('0x4')]['agents'][_0x4e7fcc],this['queue'],this[_0x7b9a('0x5')]);}}}};function beepall(_0x130c04,_0x42b94f,_0x3e1617,_0x42b786){return new Beepall(_0x130c04,_0x42b94f,_0x3e1617,_0x42b786);}module[_0x7b9a('0x1d')]=beepall;