Built motion from commit b4f7ded2.|2.0.69
[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 _0x7d13=['channel','writeLog','RINGING','busyQueue','name','[%s][QUEUE]\x20EMPTY','busy','hideNotification','exports','uuid','../../../../../config/logger','notificationId','queue','realtime','routing','length','squeue','qtimeout','atimeout','module','push','handleRun','bind','handleTimeout','drained','prototype','done','isNil','Agents','agents','info','[%s][QUEUE]\x20agent\x20skipped,\x20unknown\x20id\x20%s','isAgentAvailable'];(function(_0x2ccb87,_0x36e4bf){var _0x50a075=function(_0x4634e5){while(--_0x4634e5){_0x2ccb87['push'](_0x2ccb87['shift']());}};_0x50a075(++_0x36e4bf);}(_0x7d13,0x6c));var _0x37d1=function(_0x16438a,_0x3544be){_0x16438a=_0x16438a-0x0;var _0x9d2e74=_0x7d13[_0x16438a];return _0x9d2e74;};'use strict';var _=require('lodash');var uuid=require(_0x37d1('0x0'));var util=require('./util');var logger=require(_0x37d1('0x1'))('routing');var Beepall=function(_0x17fd0b,_0x317366,_0x37d712,_0x1b93e3){this[_0x37d1('0x2')]=uuid['v4']();this['squeue']=_0x17fd0b;this[_0x37d1('0x3')]=_0x317366;this[_0x37d1('0x4')]=_0x37d712;this[_0x37d1('0x5')]=_0x1b93e3;this[_0x37d1('0x6')]=Math['floor'](this[_0x37d1('0x7')][_0x37d1('0x8')]/this[_0x37d1('0x7')][_0x37d1('0x9')]);this[_0x37d1('0xa')]=this[_0x37d1('0x7')][_0x37d1('0x8')]%this['squeue']['atimeout'];for(var _0x408a5b=0x0;_0x408a5b<this[_0x37d1('0x6')];_0x408a5b+=0x1){this['squeue'][_0x37d1('0xb')](this[_0x37d1('0xc')][_0x37d1('0xd')](this),this[_0x37d1('0xe')][_0x37d1('0xd')](this));}this[_0x37d1('0x7')][_0x37d1('0xb')](this[_0x37d1('0xc')]['bind'](this),this[_0x37d1('0xe')][_0x37d1('0xd')](this),this['module']);this[_0x37d1('0x7')]['on'](_0x37d1('0xf'),this['handleTimeout'][_0x37d1('0xd')](this));};Beepall[_0x37d1('0x10')]['push']=function(){this['squeue'][_0x37d1('0xb')](this[_0x37d1('0xc')][_0x37d1('0xd')](this),this['handleTimeout'][_0x37d1('0xd')](this));};Beepall[_0x37d1('0x10')][_0x37d1('0x11')]=function(_0x597418){if(_0x597418){setTimeout(this[_0x37d1('0xb')][_0x37d1('0xd')](this),0x3e8);_0x597418['done']();}};Beepall[_0x37d1('0x10')][_0x37d1('0xc')]=function(_0x2e1094){var _0x27bcd1=!![];if(!_[_0x37d1('0x12')](this[_0x37d1('0x3')])&&!_[_0x37d1('0x12')](this[_0x37d1('0x3')]['Agents'])&&this[_0x37d1('0x3')][_0x37d1('0x13')][_0x37d1('0x6')]>0x0){for(var _0x13fd66=0x0,_0x4ea3c5;_0x13fd66<this['queue'][_0x37d1('0x13')][_0x37d1('0x6')];_0x13fd66+=0x1){_0x4ea3c5=this[_0x37d1('0x3')][_0x37d1('0x13')][_0x13fd66]['id'];if(_[_0x37d1('0x12')](this[_0x37d1('0x4')][_0x37d1('0x14')][_0x4ea3c5])){logger[_0x37d1('0x15')](_0x37d1('0x16'),this[_0x37d1('0x7')]['id'],_0x4ea3c5);}else{if(util[_0x37d1('0x17')](this['squeue']['id'],this[_0x37d1('0x4')][_0x37d1('0x14')][_0x4ea3c5],this[_0x37d1('0x7')][_0x37d1('0x18')],!![])){_0x27bcd1=![];util[_0x37d1('0x19')](this['squeue']['id'],this[_0x37d1('0x4')]['agents'][_0x4ea3c5],_0x37d1('0x1a'));this[_0x37d1('0x4')][_0x37d1('0x14')][_0x4ea3c5]['busy']=!![];this[_0x37d1('0x4')]['agents'][_0x4ea3c5][_0x37d1('0x1b')]=this[_0x37d1('0x3')][_0x37d1('0x1c')];util['showNotification'](this[_0x37d1('0x2')],this[_0x37d1('0x7')]['id'],this[_0x37d1('0x4')][_0x37d1('0x14')][_0x4ea3c5],this[_0x37d1('0x3')],this[_0x37d1('0x5')]);}}}if(_0x27bcd1){this[_0x37d1('0x11')](_0x2e1094);}}else{logger['info'](_0x37d1('0x1d'),this[_0x37d1('0x7')]['id']);this[_0x37d1('0x11')](_0x2e1094);}};Beepall[_0x37d1('0x10')][_0x37d1('0xe')]=function(){if(!_['isNil'](this[_0x37d1('0x3')])&&!_[_0x37d1('0x12')](this[_0x37d1('0x3')][_0x37d1('0x13')])){for(var _0x4105b1=0x0,_0x4c5814;_0x4105b1<this[_0x37d1('0x3')][_0x37d1('0x13')][_0x37d1('0x6')];_0x4105b1+=0x1){_0x4c5814=this[_0x37d1('0x3')][_0x37d1('0x13')][_0x4105b1]['id'];if(_[_0x37d1('0x12')](this[_0x37d1('0x4')]['agents'][_0x4c5814])){logger['info'](_0x37d1('0x16'),this[_0x37d1('0x7')]['id'],_0x4c5814);}else{util[_0x37d1('0x19')](this[_0x37d1('0x7')]['id'],this[_0x37d1('0x4')][_0x37d1('0x14')][_0x4c5814],'TIMEOUT');this['realtime'][_0x37d1('0x14')][_0x4c5814][_0x37d1('0x1e')]=![];this[_0x37d1('0x4')]['agents'][_0x4c5814][_0x37d1('0x1b')]=undefined;util[_0x37d1('0x1f')](this[_0x37d1('0x2')],this['squeue']['id'],this[_0x37d1('0x4')][_0x37d1('0x14')][_0x4c5814],this[_0x37d1('0x3')],this[_0x37d1('0x5')]);}}}};function beepall(_0x3e988b,_0x200649,_0x565f27,_0x34f822){return new Beepall(_0x3e988b,_0x200649,_0x565f27,_0x34f822);}module[_0x37d1('0x20')]=beepall;