da67ca6dc1bcedf4cd5b4c6696002f518619126b
[motion2.git] / server / services / routing / model / mailQueue.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 _0x1f39=['mailPause','available','stringify','format','mail:queue:%s','mail_queue:save','exports','md5','util','../../../config/environment','redis','socket.io-emitter','name','timeout','strategy','beepall','mapAgentsId','waiting','updateRealtime','prototype','updateRouting','_rr','map','Agents','loggedIn','paused','length','online'];(function(_0x3e1359,_0x77e06d){var _0x4b2728=function(_0x399899){while(--_0x399899){_0x3e1359['push'](_0x3e1359['shift']());}};_0x4b2728(++_0x77e06d);}(_0x1f39,0x173));var _0x91f3=function(_0x43dac3,_0x564736){_0x43dac3=_0x43dac3-0x0;var _0x2aac5c=_0x1f39[_0x43dac3];return _0x2aac5c;};'use strict';var _=require('lodash');var md5=require(_0x91f3('0x0'));var util=require(_0x91f3('0x1'));var Redis=require('ioredis');var config=require(_0x91f3('0x2'));config[_0x91f3('0x3')]=_['defaults'](config[_0x91f3('0x3')],{'host':'localhost','port':0x18eb});var io=require(_0x91f3('0x4'))(new Redis(config['redis']));function MailQueue(_0x834c11){this['id']=_0x834c11['id']||0x0;this[_0x91f3('0x5')]=_0x834c11['name']||'';this[_0x91f3('0x6')]=_0x834c11['timeout']||0xa;this[_0x91f3('0x7')]=_0x834c11[_0x91f3('0x7')]||_0x91f3('0x8');this['Agents']=_0x834c11['Agents'];this[_0x91f3('0x9')]={};this[_0x91f3('0xa')]=0x0;this[_0x91f3('0x0')]='';this['updateRouting']();this[_0x91f3('0xb')]();}MailQueue[_0x91f3('0xc')][_0x91f3('0xd')]=function(){var _0xe4274e=this['mapAgentsId'][_0x91f3('0xe')];this[_0x91f3('0x9')]=_[_0x91f3('0xf')](this[_0x91f3('0x10')],'id');this[_0x91f3('0x9')]['_rr']=_0xe4274e;};MailQueue['prototype']['updateRealtime']=function(){this[_0x91f3('0x11')]=0x0;this[_0x91f3('0x12')]=0x0;for(var _0x4e6bb9=0x0;_0x4e6bb9<this[_0x91f3('0x10')][_0x91f3('0x13')];_0x4e6bb9+=0x1){if(this[_0x91f3('0x10')][_0x4e6bb9][_0x91f3('0x14')]){this['loggedIn']+=0x1;}if(this[_0x91f3('0x10')][_0x4e6bb9][_0x91f3('0x15')]){this[_0x91f3('0x12')]+=0x1;}}this[_0x91f3('0x16')]=this[_0x91f3('0x11')]-this[_0x91f3('0x12')];this[_0x91f3('0x16')]=this[_0x91f3('0x16')]>=0x0?this[_0x91f3('0x16')]:0x0;var _0x2ed68f={'id':this['id'],'available':this[_0x91f3('0x16')],'loggedIn':this[_0x91f3('0x11')],'name':this[_0x91f3('0x5')],'paused':this['paused'],'waiting':this['waiting']};var _0x556ab9=md5(JSON[_0x91f3('0x17')](_0x2ed68f));if(this['md5']!==_0x556ab9){this[_0x91f3('0x0')]=_0x556ab9;io['to'](util[_0x91f3('0x18')](_0x91f3('0x19'),_0x2ed68f[_0x91f3('0x5')]))['emit'](_0x91f3('0x1a'),_0x2ed68f);}};module[_0x91f3('0x1b')]=MailQueue;