8ecbbac4fc70f9a2ff96c32c94414c70d434ae7e
[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 _0x09e8=['bind','handleTimeout','timeout','drained','handleDrained','prototype','handleRun','isNil','Agents','length','realtime','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','channel','writeLog','agents','RINGING','busy','busyQueue','name','showNotification','notificationId','[%s][QUEUE]\x20EMPTY','hideNotification','STOP','TIMEOUT','lodash','uuid','./util','../../../../../config/logger','squeue','queue','routing','push'];(function(_0x4b9f7e,_0x1d9712){var _0x40df31=function(_0x3f5f57){while(--_0x3f5f57){_0x4b9f7e['push'](_0x4b9f7e['shift']());}};_0x40df31(++_0x1d9712);}(_0x09e8,0x179));var _0x809e=function(_0x2ffd05,_0x1840e3){_0x2ffd05=_0x2ffd05-0x0;var _0x5038bf=_0x09e8[_0x2ffd05];return _0x5038bf;};'use strict';var _=require(_0x809e('0x0'));var uuid=require(_0x809e('0x1'));var util=require(_0x809e('0x2'));var logger=require(_0x809e('0x3'))('routing');var Beepall=function(_0x59173a,_0x55f29a,_0x16d7b5,_0x3f7390){this['notificationId']=uuid['v4']();this[_0x809e('0x4')]=_0x59173a;this[_0x809e('0x5')]=_0x55f29a;this['realtime']=_0x16d7b5;this[_0x809e('0x6')]=_0x3f7390;this[_0x809e('0x4')][_0x809e('0x7')](this['handleRun'][_0x809e('0x8')](this),this[_0x809e('0x9')][_0x809e('0x8')](this));this[_0x809e('0x4')]['on'](_0x809e('0xa'),this[_0x809e('0x9')][_0x809e('0x8')](this));this[_0x809e('0x4')]['on'](_0x809e('0xb'),this[_0x809e('0xc')]['bind'](this));};Beepall[_0x809e('0xd')][_0x809e('0x7')]=function(){this[_0x809e('0x4')]['push'](this[_0x809e('0xe')][_0x809e('0x8')](this),this[_0x809e('0x9')][_0x809e('0x8')](this));};Beepall[_0x809e('0xd')][_0x809e('0xc')]=function(_0x57f9d3){this[_0x809e('0x9')](!![]);};Beepall[_0x809e('0xd')][_0x809e('0xe')]=function(_0x4f845b){var _0xa0ea28=!![];if(!_[_0x809e('0xf')](this[_0x809e('0x5')])&&!_[_0x809e('0xf')](this[_0x809e('0x5')][_0x809e('0x10')])&&this[_0x809e('0x5')][_0x809e('0x10')][_0x809e('0x11')]>0x0){for(var _0x4e5b71=0x0,_0x5caf4d;_0x4e5b71<this['queue']['Agents'][_0x809e('0x11')];_0x4e5b71+=0x1){_0x5caf4d=this[_0x809e('0x5')][_0x809e('0x10')][_0x4e5b71]['id'];if(_[_0x809e('0xf')](this[_0x809e('0x12')]['agents'][_0x5caf4d])){logger[_0x809e('0x13')](_0x809e('0x14'),this[_0x809e('0x4')]['id'],_0x5caf4d);}else{if(util[_0x809e('0x15')](this[_0x809e('0x4')]['id'],this[_0x809e('0x12')]['agents'][_0x5caf4d],this['squeue'][_0x809e('0x16')],!![])){_0xa0ea28=![];util[_0x809e('0x17')](this[_0x809e('0x4')]['id'],this[_0x809e('0x12')][_0x809e('0x18')][_0x5caf4d],_0x809e('0x19'));this['realtime'][_0x809e('0x18')][_0x5caf4d][_0x809e('0x1a')]=!![];this['realtime']['agents'][_0x5caf4d][_0x809e('0x1b')]=this[_0x809e('0x5')][_0x809e('0x1c')];util[_0x809e('0x1d')](this[_0x809e('0x1e')],this[_0x809e('0x4')]['id'],this[_0x809e('0x12')][_0x809e('0x18')][_0x5caf4d],this['queue'],this[_0x809e('0x6')]);}}}if(_0xa0ea28){logger[_0x809e('0x13')]('[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY',this[_0x809e('0x4')]['id']);setTimeout(this[_0x809e('0x7')][_0x809e('0x8')](this),0x3e8);}}else{logger['info'](_0x809e('0x1f'),this[_0x809e('0x4')]['id']);setTimeout(this[_0x809e('0x7')][_0x809e('0x8')](this),0x3e8);}};Beepall['prototype'][_0x809e('0x9')]=function(_0xa79735){if(!_['isNil'](this['queue'])&&!_['isNil'](this[_0x809e('0x5')][_0x809e('0x10')])){for(var _0x47ebb8=0x0,_0x1c9afa;_0x47ebb8<this[_0x809e('0x5')][_0x809e('0x10')][_0x809e('0x11')];_0x47ebb8+=0x1){_0x1c9afa=this[_0x809e('0x5')]['Agents'][_0x47ebb8]['id'];if(_[_0x809e('0xf')](this[_0x809e('0x12')][_0x809e('0x18')][_0x1c9afa])){logger[_0x809e('0x13')](_0x809e('0x14'),this['squeue']['id'],_0x1c9afa);}else{util[_0x809e('0x20')](this[_0x809e('0x1e')],this['squeue']['id'],this[_0x809e('0x12')][_0x809e('0x18')][_0x1c9afa],this[_0x809e('0x5')],this[_0x809e('0x6')]);util[_0x809e('0x17')](this[_0x809e('0x4')]['id'],this[_0x809e('0x12')][_0x809e('0x18')][_0x1c9afa],_0xa79735?_0x809e('0x21'):_0x809e('0x22'));this[_0x809e('0x12')][_0x809e('0x18')][_0x1c9afa]['busy']=![];this[_0x809e('0x12')][_0x809e('0x18')][_0x1c9afa][_0x809e('0x1b')]=undefined;}}}if(!_0xa79735){setTimeout(this[_0x809e('0x7')]['bind'](this),0x3e8);}};function beepall(_0x1e5da6,_0x4aeeca,_0x8a11fd,_0x581725){return new Beepall(_0x1e5da6,_0x4aeeca,_0x8a11fd,_0x581725);}module['exports']=beepall;