Built motion from commit (unavailable).|2.5.27
[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 _0x95fc=['prototype','_rr','map','paused','Agents','length','online','openchannelPause','loggedIn','available','waiting','stringify','emit','openchannel_queue:save','exports','lodash','util','../../../config/environment','redis','defaults','socket.io-emitter','name','strategy','mapAgentsId','md5','updateRouting','updateRealtime'];(function(_0x3ab1db,_0x295dcd){var _0x2de25d=function(_0x251514){while(--_0x251514){_0x3ab1db['push'](_0x3ab1db['shift']());}};_0x2de25d(++_0x295dcd);}(_0x95fc,0x102));var _0xc95f=function(_0x3a96d3,_0x31efc0){_0x3a96d3=_0x3a96d3-0x0;var _0x4f42c4=_0x95fc[_0x3a96d3];return _0x4f42c4;};'use strict';var _=require(_0xc95f('0x0'));var md5=require('md5');var util=require(_0xc95f('0x1'));var Redis=require('ioredis');var config=require(_0xc95f('0x2'));config[_0xc95f('0x3')]=_[_0xc95f('0x4')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0xc95f('0x5'))(new Redis(config['redis']));function OpenchannelQueue(_0x408ba0){this['id']=_0x408ba0['id']||0x0;this[_0xc95f('0x6')]=_0x408ba0[_0xc95f('0x6')]||'';this['timeout']=_0x408ba0['timeout']||0xa;this['strategy']=_0x408ba0[_0xc95f('0x7')]||'beepall';this['Agents']=_0x408ba0['Agents'];this[_0xc95f('0x8')]={};this['waiting']=0x0;this[_0xc95f('0x9')]='';this[_0xc95f('0xa')]();this[_0xc95f('0xb')]();}OpenchannelQueue[_0xc95f('0xc')][_0xc95f('0xa')]=function(){var _0x1b8462=this[_0xc95f('0x8')][_0xc95f('0xd')];this[_0xc95f('0x8')]=_[_0xc95f('0xe')](this['Agents'],'id');this['mapAgentsId'][_0xc95f('0xd')]=_0x1b8462;};OpenchannelQueue[_0xc95f('0xc')][_0xc95f('0xb')]=function(){this['loggedIn']=0x0;this[_0xc95f('0xf')]=0x0;for(var _0x5513b9=0x0;_0x5513b9<this[_0xc95f('0x10')][_0xc95f('0x11')];_0x5513b9+=0x1){if(this['Agents'][_0x5513b9][_0xc95f('0x12')]){this['loggedIn']+=0x1;}if(this['Agents'][_0x5513b9][_0xc95f('0x13')]){this['paused']+=0x1;}}this['available']=this[_0xc95f('0x14')]-this[_0xc95f('0xf')];this['available']=this[_0xc95f('0x15')]>=0x0?this['available']:0x0;var _0x2f59dc={'id':this['id'],'available':this['available'],'loggedIn':this[_0xc95f('0x14')],'name':this[_0xc95f('0x6')],'paused':this['paused'],'waiting':this[_0xc95f('0x16')]};var _0x2ba23b=md5(JSON[_0xc95f('0x17')](_0x2f59dc));if(this[_0xc95f('0x9')]!==_0x2ba23b){this[_0xc95f('0x9')]=_0x2ba23b;io['to'](util['format']('openchannel:queue:%s',_0x2f59dc[_0xc95f('0x6')]))[_0xc95f('0x18')](_0xc95f('0x19'),_0x2f59dc);}};module[_0xc95f('0x1a')]=OpenchannelQueue;