Built motion from commit (unavailable).|2.5.16
[motion2.git] / server / services / routing / model / openchannelQueue.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 _0xc0df=['strategy','beepall','Agents','waiting','updateRouting','updateRealtime','prototype','mapAgentsId','map','_rr','loggedIn','paused','length','online','available','name','stringify','format','openchannel:queue:%s','emit','openchannel_queue:save','exports','lodash','md5','util','ioredis','../../../config/environment','redis','defaults','localhost','timeout'];(function(_0xb6e2ea,_0x3b26e9){var _0x2a57bb=function(_0x2a1ac9){while(--_0x2a1ac9){_0xb6e2ea['push'](_0xb6e2ea['shift']());}};_0x2a57bb(++_0x3b26e9);}(_0xc0df,0x1a9));var _0xfc0d=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0xc0df[_0x3ab51d];return _0x29a04e;};'use strict';var _=require(_0xfc0d('0x0'));var md5=require(_0xfc0d('0x1'));var util=require(_0xfc0d('0x2'));var Redis=require(_0xfc0d('0x3'));var config=require(_0xfc0d('0x4'));config[_0xfc0d('0x5')]=_[_0xfc0d('0x6')](config[_0xfc0d('0x5')],{'host':_0xfc0d('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function OpenchannelQueue(_0xf944e){this['id']=_0xf944e['id']||0x0;this['name']=_0xf944e['name']||'';this[_0xfc0d('0x8')]=_0xf944e[_0xfc0d('0x8')]||0xa;this[_0xfc0d('0x9')]=_0xf944e[_0xfc0d('0x9')]||_0xfc0d('0xa');this['Agents']=_0xf944e[_0xfc0d('0xb')];this['mapAgentsId']={};this[_0xfc0d('0xc')]=0x0;this[_0xfc0d('0x1')]='';this[_0xfc0d('0xd')]();this[_0xfc0d('0xe')]();}OpenchannelQueue[_0xfc0d('0xf')][_0xfc0d('0xd')]=function(){var _0x3a9541=this['mapAgentsId']['_rr'];this[_0xfc0d('0x10')]=_[_0xfc0d('0x11')](this[_0xfc0d('0xb')],'id');this[_0xfc0d('0x10')][_0xfc0d('0x12')]=_0x3a9541;};OpenchannelQueue[_0xfc0d('0xf')][_0xfc0d('0xe')]=function(){this[_0xfc0d('0x13')]=0x0;this[_0xfc0d('0x14')]=0x0;for(var _0x3f47e8=0x0;_0x3f47e8<this['Agents'][_0xfc0d('0x15')];_0x3f47e8+=0x1){if(this[_0xfc0d('0xb')][_0x3f47e8][_0xfc0d('0x16')]){this[_0xfc0d('0x13')]+=0x1;}if(this[_0xfc0d('0xb')][_0x3f47e8]['openchannelPause']){this[_0xfc0d('0x14')]+=0x1;}}this[_0xfc0d('0x17')]=this['loggedIn']-this['paused'];this['available']=this[_0xfc0d('0x17')]>=0x0?this[_0xfc0d('0x17')]:0x0;var _0x2bcd40={'id':this['id'],'available':this[_0xfc0d('0x17')],'loggedIn':this['loggedIn'],'name':this[_0xfc0d('0x18')],'paused':this[_0xfc0d('0x14')],'waiting':this['waiting']};var _0x883a49=md5(JSON[_0xfc0d('0x19')](_0x2bcd40));if(this[_0xfc0d('0x1')]!==_0x883a49){this[_0xfc0d('0x1')]=_0x883a49;io['to'](util[_0xfc0d('0x1a')](_0xfc0d('0x1b'),_0x2bcd40['name']))[_0xfc0d('0x1c')](_0xfc0d('0x1d'),_0x2bcd40);}};module[_0xfc0d('0x1e')]=OpenchannelQueue;