Built motion from commit (unavailable).|2.5.14
[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 _0x8e9a=['../../../../../config/logger','routing','notificationId','squeue','queue','realtime','handleRun','bind','handleTimeout','drained','prototype','push','handleDrained','isNil','Agents','length','agents','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable','writeLog','RINGING','busy','showNotification','info','[%s][QUEUE]\x20ALL\x20AGENTS\x20ARE\x20BUSY','hideNotification','STOP','TIMEOUT','busyQueue','uuid','./util'];(function(_0x4e4c6b,_0x2502f5){var _0x5e05c2=function(_0x1d096){while(--_0x1d096){_0x4e4c6b['push'](_0x4e4c6b['shift']());}};_0x5e05c2(++_0x2502f5);}(_0x8e9a,0xf6));var _0xa8e9=function(_0x4684a7,_0x268d4d){_0x4684a7=_0x4684a7-0x0;var _0x182034=_0x8e9a[_0x4684a7];return _0x182034;};'use strict';var _=require('lodash');var uuid=require(_0xa8e9('0x0'));var util=require(_0xa8e9('0x1'));var logger=require(_0xa8e9('0x2'))(_0xa8e9('0x3'));var Beepall=function(_0x4f1264,_0x5ce7bb,_0x33c47f,_0x190afe){this[_0xa8e9('0x4')]=uuid['v4']();this[_0xa8e9('0x5')]=_0x4f1264;this[_0xa8e9('0x6')]=_0x5ce7bb;this[_0xa8e9('0x7')]=_0x33c47f;this[_0xa8e9('0x3')]=_0x190afe;this[_0xa8e9('0x5')]['push'](this[_0xa8e9('0x8')][_0xa8e9('0x9')](this),this[_0xa8e9('0xa')][_0xa8e9('0x9')](this));this[_0xa8e9('0x5')]['on']('timeout',this[_0xa8e9('0xa')][_0xa8e9('0x9')](this));this[_0xa8e9('0x5')]['on'](_0xa8e9('0xb'),this['handleDrained']['bind'](this));};Beepall[_0xa8e9('0xc')][_0xa8e9('0xd')]=function(){this[_0xa8e9('0x5')]['push'](this[_0xa8e9('0x8')][_0xa8e9('0x9')](this),this[_0xa8e9('0xa')][_0xa8e9('0x9')](this));};Beepall[_0xa8e9('0xc')][_0xa8e9('0xe')]=function(_0x27d409){this[_0xa8e9('0xa')](!![]);};Beepall[_0xa8e9('0xc')][_0xa8e9('0x8')]=function(_0x4ea7a8){var _0x4734e9=!![];if(!_['isNil'](this[_0xa8e9('0x6')])&&!_[_0xa8e9('0xf')](this[_0xa8e9('0x6')][_0xa8e9('0x10')])&&this[_0xa8e9('0x6')][_0xa8e9('0x10')][_0xa8e9('0x11')]>0x0){for(var _0x4a82d7=0x0,_0x2f9bd1;_0x4a82d7<this[_0xa8e9('0x6')]['Agents'][_0xa8e9('0x11')];_0x4a82d7+=0x1){_0x2f9bd1=this[_0xa8e9('0x6')][_0xa8e9('0x10')][_0x4a82d7]['id'];if(_[_0xa8e9('0xf')](this[_0xa8e9('0x7')][_0xa8e9('0x12')][_0x2f9bd1])){logger['info'](_0xa8e9('0x13'),this['squeue']['id'],_0x2f9bd1);}else{if(util[_0xa8e9('0x14')](this[_0xa8e9('0x5')]['id'],this[_0xa8e9('0x7')]['agents'][_0x2f9bd1],this[_0xa8e9('0x5')]['channel'],!![])){_0x4734e9=![];util[_0xa8e9('0x15')](this[_0xa8e9('0x5')]['id'],this[_0xa8e9('0x7')][_0xa8e9('0x12')][_0x2f9bd1],_0xa8e9('0x16'));this[_0xa8e9('0x7')][_0xa8e9('0x12')][_0x2f9bd1][_0xa8e9('0x17')]=!![];this[_0xa8e9('0x7')][_0xa8e9('0x12')][_0x2f9bd1]['busyQueue']=this['queue']['name'];util[_0xa8e9('0x18')](this[_0xa8e9('0x4')],this[_0xa8e9('0x5')]['id'],this[_0xa8e9('0x7')]['agents'][_0x2f9bd1],this[_0xa8e9('0x6')],this[_0xa8e9('0x3')]);}}}if(_0x4734e9){logger[_0xa8e9('0x19')](_0xa8e9('0x1a'),this[_0xa8e9('0x5')]['id']);setTimeout(this[_0xa8e9('0xd')]['bind'](this),0x3e8);}}else{logger[_0xa8e9('0x19')]('[%s][QUEUE]\x20EMPTY',this[_0xa8e9('0x5')]['id']);setTimeout(this['push'][_0xa8e9('0x9')](this),0x3e8);}};Beepall['prototype'][_0xa8e9('0xa')]=function(_0x15b5f4){if(!_[_0xa8e9('0xf')](this[_0xa8e9('0x6')])&&!_[_0xa8e9('0xf')](this[_0xa8e9('0x6')][_0xa8e9('0x10')])){for(var _0x48aedc=0x0,_0x542da8;_0x48aedc<this[_0xa8e9('0x6')][_0xa8e9('0x10')]['length'];_0x48aedc+=0x1){_0x542da8=this[_0xa8e9('0x6')]['Agents'][_0x48aedc]['id'];if(_[_0xa8e9('0xf')](this[_0xa8e9('0x7')]['agents'][_0x542da8])){logger[_0xa8e9('0x19')]('[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s',this[_0xa8e9('0x5')]['id'],_0x542da8);}else{util[_0xa8e9('0x1b')](this[_0xa8e9('0x4')],this['squeue']['id'],this[_0xa8e9('0x7')][_0xa8e9('0x12')][_0x542da8],this[_0xa8e9('0x6')],this['routing']);util[_0xa8e9('0x15')](this['squeue']['id'],this[_0xa8e9('0x7')][_0xa8e9('0x12')][_0x542da8],_0x15b5f4?_0xa8e9('0x1c'):_0xa8e9('0x1d'));this['realtime'][_0xa8e9('0x12')][_0x542da8][_0xa8e9('0x17')]=![];this[_0xa8e9('0x7')][_0xa8e9('0x12')][_0x542da8][_0xa8e9('0x1e')]=undefined;}}}if(!_0x15b5f4){setTimeout(this['push'][_0xa8e9('0x9')](this),0x3e8);}};function beepall(_0x3b6f17,_0x5eb06c,_0x37e555,_0x5d20c0){return new Beepall(_0x3b6f17,_0x5eb06c,_0x37e555,_0x5d20c0);}module['exports']=beepall;