9efd9c8c7a525f1b7afa86bd9e158243e00a4eaf
[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 _0xce78=['uuid','./util','routing','notificationId','squeue','queue','realtime','push','handleRun','bind','handleTimeout','timeout','drained','handleDrained','prototype','isNil','Agents','length','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','writeLog','RINGING','busy','busyQueue','name','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','[%s][QUEUE]\x20EMPTY','hideNotification','TIMEOUT','exports','lodash'];(function(_0x4f802c,_0x509d26){var _0x1d1c0e=function(_0x169213){while(--_0x169213){_0x4f802c['push'](_0x4f802c['shift']());}};_0x1d1c0e(++_0x509d26);}(_0xce78,0x149));var _0x8ce7=function(_0x26cd84,_0x4eb979){_0x26cd84=_0x26cd84-0x0;var _0x39fe52=_0xce78[_0x26cd84];return _0x39fe52;};'use strict';var _=require(_0x8ce7('0x0'));var uuid=require(_0x8ce7('0x1'));var util=require(_0x8ce7('0x2'));var logger=require('../../../../../config/logger')(_0x8ce7('0x3'));var Beepall=function(_0x2a83a1,_0x568bf0,_0x4081af,_0x55ca1c){this[_0x8ce7('0x4')]=uuid['v4']();this[_0x8ce7('0x5')]=_0x2a83a1;this[_0x8ce7('0x6')]=_0x568bf0;this[_0x8ce7('0x7')]=_0x4081af;this[_0x8ce7('0x3')]=_0x55ca1c;this[_0x8ce7('0x5')][_0x8ce7('0x8')](this[_0x8ce7('0x9')][_0x8ce7('0xa')](this),this[_0x8ce7('0xb')][_0x8ce7('0xa')](this));this[_0x8ce7('0x5')]['on'](_0x8ce7('0xc'),this[_0x8ce7('0xb')][_0x8ce7('0xa')](this));this[_0x8ce7('0x5')]['on'](_0x8ce7('0xd'),this[_0x8ce7('0xe')][_0x8ce7('0xa')](this));};Beepall[_0x8ce7('0xf')][_0x8ce7('0x8')]=function(){this[_0x8ce7('0x5')][_0x8ce7('0x8')](this[_0x8ce7('0x9')]['bind'](this),this[_0x8ce7('0xb')][_0x8ce7('0xa')](this));};Beepall[_0x8ce7('0xf')][_0x8ce7('0xe')]=function(_0x3f34d6){this[_0x8ce7('0xb')](!![]);};Beepall['prototype'][_0x8ce7('0x9')]=function(_0x57cd75){var _0x2a0962=!![];if(!_[_0x8ce7('0x10')](this['queue'])&&!_[_0x8ce7('0x10')](this['queue']['Agents'])&&this[_0x8ce7('0x6')][_0x8ce7('0x11')]['length']>0x0){for(var _0xafd3de=0x0,_0x375d46;_0xafd3de<this[_0x8ce7('0x6')]['Agents'][_0x8ce7('0x12')];_0xafd3de+=0x1){_0x375d46=this[_0x8ce7('0x6')][_0x8ce7('0x11')][_0xafd3de]['id'];if(_[_0x8ce7('0x10')](this['realtime'][_0x8ce7('0x13')][_0x375d46])){logger[_0x8ce7('0x14')](_0x8ce7('0x15'),this[_0x8ce7('0x5')]['id'],_0x375d46);}else{if(util[_0x8ce7('0x16')](this['squeue']['id'],this['realtime'][_0x8ce7('0x13')][_0x375d46],this[_0x8ce7('0x5')]['channel'],!![])){_0x2a0962=![];util[_0x8ce7('0x17')](this[_0x8ce7('0x5')]['id'],this[_0x8ce7('0x7')][_0x8ce7('0x13')][_0x375d46],_0x8ce7('0x18'));this[_0x8ce7('0x7')]['agents'][_0x375d46][_0x8ce7('0x19')]=!![];this[_0x8ce7('0x7')]['agents'][_0x375d46][_0x8ce7('0x1a')]=this['queue'][_0x8ce7('0x1b')];util['showNotification'](this['notificationId'],this[_0x8ce7('0x5')]['id'],this[_0x8ce7('0x7')][_0x8ce7('0x13')][_0x375d46],this[_0x8ce7('0x6')],this[_0x8ce7('0x3')]);}}}if(_0x2a0962){logger['info'](_0x8ce7('0x1c'),this[_0x8ce7('0x5')]['id']);setTimeout(this[_0x8ce7('0x8')][_0x8ce7('0xa')](this),0x3e8);}}else{logger[_0x8ce7('0x14')](_0x8ce7('0x1d'),this[_0x8ce7('0x5')]['id']);setTimeout(this[_0x8ce7('0x8')]['bind'](this),0x3e8);}};Beepall[_0x8ce7('0xf')][_0x8ce7('0xb')]=function(_0x2f12fc){if(!_[_0x8ce7('0x10')](this[_0x8ce7('0x6')])&&!_[_0x8ce7('0x10')](this[_0x8ce7('0x6')]['Agents'])){for(var _0x79b5a6=0x0,_0x316d40;_0x79b5a6<this[_0x8ce7('0x6')][_0x8ce7('0x11')][_0x8ce7('0x12')];_0x79b5a6+=0x1){_0x316d40=this[_0x8ce7('0x6')][_0x8ce7('0x11')][_0x79b5a6]['id'];if(_[_0x8ce7('0x10')](this[_0x8ce7('0x7')][_0x8ce7('0x13')][_0x316d40])){logger[_0x8ce7('0x14')]('[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s',this['squeue']['id'],_0x316d40);}else{util[_0x8ce7('0x1e')](this['notificationId'],this['squeue']['id'],this[_0x8ce7('0x7')]['agents'][_0x316d40],this[_0x8ce7('0x6')],this['routing']);util[_0x8ce7('0x17')](this['squeue']['id'],this[_0x8ce7('0x7')][_0x8ce7('0x13')][_0x316d40],_0x2f12fc?'STOP':_0x8ce7('0x1f'));this[_0x8ce7('0x7')][_0x8ce7('0x13')][_0x316d40]['busy']=![];this[_0x8ce7('0x7')][_0x8ce7('0x13')][_0x316d40][_0x8ce7('0x1a')]=undefined;}}}if(!_0x2f12fc){setTimeout(this[_0x8ce7('0x8')][_0x8ce7('0xa')](this),0x3e8);}};function beepall(_0x38259c,_0x5c4caa,_0x7daa12,_0x208a1f){return new Beepall(_0x38259c,_0x5c4caa,_0x7daa12,_0x208a1f);}module[_0x8ce7('0x20')]=beepall;