Built motion from commit 9d7072cc.|2.5.39
[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 _0xa93e=['info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','agents','writeLog','busy','busyQueue','showNotification','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','notificationId','STOP','TIMEOUT','exports','./util','../../../../../config/logger','squeue','queue','realtime','routing','push','bind','timeout','handleTimeout','drained','prototype','handleRun','handleDrained','isNil','Agents','length'];(function(_0x268b06,_0x446ed1){var _0x31d48b=function(_0x368c0a){while(--_0x368c0a){_0x268b06['push'](_0x268b06['shift']());}};_0x31d48b(++_0x446ed1);}(_0xa93e,0x1df));var _0xea93=function(_0x4be447,_0x1a423d){_0x4be447=_0x4be447-0x0;var _0x434986=_0xa93e[_0x4be447];return _0x434986;};'use strict';var _=require('lodash');var uuid=require('uuid');var util=require(_0xea93('0x0'));var logger=require(_0xea93('0x1'))('routing');var Beepall=function(_0xd64380,_0x50af65,_0x454956,_0x5b5341){this['notificationId']=uuid['v4']();this[_0xea93('0x2')]=_0xd64380;this[_0xea93('0x3')]=_0x50af65;this[_0xea93('0x4')]=_0x454956;this[_0xea93('0x5')]=_0x5b5341;this[_0xea93('0x2')][_0xea93('0x6')](this['handleRun'][_0xea93('0x7')](this),this['handleTimeout']['bind'](this));this['squeue']['on'](_0xea93('0x8'),this[_0xea93('0x9')]['bind'](this));this[_0xea93('0x2')]['on'](_0xea93('0xa'),this['handleDrained'][_0xea93('0x7')](this));};Beepall[_0xea93('0xb')][_0xea93('0x6')]=function(){this[_0xea93('0x2')][_0xea93('0x6')](this[_0xea93('0xc')]['bind'](this),this[_0xea93('0x9')]['bind'](this));};Beepall['prototype'][_0xea93('0xd')]=function(_0x1b3cf8){this[_0xea93('0x9')](!![]);};Beepall[_0xea93('0xb')][_0xea93('0xc')]=function(_0xe9d651){var _0x52f3df=!![];if(!_[_0xea93('0xe')](this['queue'])&&!_[_0xea93('0xe')](this[_0xea93('0x3')][_0xea93('0xf')])&&this[_0xea93('0x3')][_0xea93('0xf')][_0xea93('0x10')]>0x0){for(var _0x3c220d=0x0,_0x29a548;_0x3c220d<this[_0xea93('0x3')][_0xea93('0xf')][_0xea93('0x10')];_0x3c220d+=0x1){_0x29a548=this[_0xea93('0x3')][_0xea93('0xf')][_0x3c220d]['id'];if(_['isNil'](this[_0xea93('0x4')]['agents'][_0x29a548])){logger[_0xea93('0x11')](_0xea93('0x12'),this[_0xea93('0x2')]['id'],_0x29a548);}else{if(util[_0xea93('0x13')](this[_0xea93('0x2')]['id'],this['realtime'][_0xea93('0x14')][_0x29a548],this['squeue']['channel'],!![])){_0x52f3df=![];util[_0xea93('0x15')](this[_0xea93('0x2')]['id'],this[_0xea93('0x4')][_0xea93('0x14')][_0x29a548],'RINGING');this[_0xea93('0x4')][_0xea93('0x14')][_0x29a548][_0xea93('0x16')]=!![];this[_0xea93('0x4')][_0xea93('0x14')][_0x29a548][_0xea93('0x17')]=this[_0xea93('0x3')]['name'];util[_0xea93('0x18')](this['notificationId'],this[_0xea93('0x2')]['id'],this[_0xea93('0x4')]['agents'][_0x29a548],this[_0xea93('0x3')],this[_0xea93('0x5')]);}}}if(_0x52f3df){logger[_0xea93('0x11')](_0xea93('0x19'),this['squeue']['id']);setTimeout(this[_0xea93('0x6')][_0xea93('0x7')](this),0x3e8);}}else{logger['info'](_0xea93('0x1a'),this[_0xea93('0x2')]['id']);setTimeout(this[_0xea93('0x6')][_0xea93('0x7')](this),0x3e8);}};Beepall['prototype'][_0xea93('0x9')]=function(_0x166850){if(!_[_0xea93('0xe')](this[_0xea93('0x3')])&&!_[_0xea93('0xe')](this[_0xea93('0x3')]['Agents'])){for(var _0x297fb5=0x0,_0x360e21;_0x297fb5<this[_0xea93('0x3')][_0xea93('0xf')][_0xea93('0x10')];_0x297fb5+=0x1){_0x360e21=this['queue'][_0xea93('0xf')][_0x297fb5]['id'];if(_[_0xea93('0xe')](this['realtime'][_0xea93('0x14')][_0x360e21])){logger[_0xea93('0x11')](_0xea93('0x12'),this[_0xea93('0x2')]['id'],_0x360e21);}else{util['hideNotification'](this[_0xea93('0x1b')],this[_0xea93('0x2')]['id'],this[_0xea93('0x4')]['agents'][_0x360e21],this[_0xea93('0x3')],this[_0xea93('0x5')]);util['writeLog'](this[_0xea93('0x2')]['id'],this[_0xea93('0x4')]['agents'][_0x360e21],_0x166850?_0xea93('0x1c'):_0xea93('0x1d'));this['realtime'][_0xea93('0x14')][_0x360e21][_0xea93('0x16')]=![];this[_0xea93('0x4')][_0xea93('0x14')][_0x360e21][_0xea93('0x17')]=undefined;}}}if(!_0x166850){setTimeout(this[_0xea93('0x6')][_0xea93('0x7')](this),0x3e8);}};function beepall(_0x1fbec4,_0x311ddb,_0xcedbf,_0x52ac35){return new Beepall(_0x1fbec4,_0x311ddb,_0xcedbf,_0x52ac35);}module[_0xea93('0x1e')]=beepall;