Built motion from commit (unavailable).|2.4.21
[motion2.git] / server / services / routing / realtime / index.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 _0xeefd=['updateRealtime','initChatQueues','initSmsQueues','smsQueues','initMailQueues','exports','lodash','../model/agent','../model/interval','../model/chatQueue','../model/mailQueue','../model/faxQueue','agents','intervals','openchannelQueues','chatQueues','mailQueues','faxQueues','mailQueuesWaitingInteractions','openchannelQueuesWaitingInteractions','smsQueuesWaitingInteractions','faxQueuesWaitingInteractions','mapKeys','hasOwnProperty','prototype','mergeFromDatabase','initAgents','length','isUndefined','initIntervals','initOpenchannelQueues','updateRouting'];(function(_0x20c9b2,_0x55d7b1){var _0x2c6030=function(_0x10845f){while(--_0x10845f){_0x20c9b2['push'](_0x20c9b2['shift']());}};_0x2c6030(++_0x55d7b1);}(_0xeefd,0xa6));var _0xdeef=function(_0x2266f0,_0x19107c){_0x2266f0=_0x2266f0-0x0;var _0x28145b=_0xeefd[_0x2266f0];return _0x28145b;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0xdeef('0x0'));var moment=require('moment');var Agent=require(_0xdeef('0x1'));var Interval=require(_0xdeef('0x2'));var OpenchannelQueue=require('../model/openchannelQueue');var ChatQueue=require(_0xdeef('0x3'));var SmsQueue=require('../model/smsQueue');var MailQueue=require(_0xdeef('0x4'));var FaxQueue=require(_0xdeef('0x5'));var Realtime=function(){this[_0xdeef('0x6')]={};this[_0xdeef('0x7')]={};this[_0xdeef('0x8')]={};this[_0xdeef('0x9')]={};this['smsQueues']={};this[_0xdeef('0xa')]={};this[_0xdeef('0xb')]={};this['chatQueuesWaitingInteractions']={};this[_0xdeef('0xc')]={};this[_0xdeef('0xd')]={};this[_0xdeef('0xe')]={};this[_0xdeef('0xf')]={};};function freeIsNotKey(_0x5c4d90,_0x510603,_0x1e650d){var _0x39fcd3=_[_0xdeef('0x10')](_0x5c4d90,function(_0x1e1d1d,_0x243d16){return _0x1e1d1d[_0x1e650d];});for(var _0x2fda14 in _0x510603){if(_0x510603[_0xdeef('0x11')](_0x2fda14)){if(!_0x39fcd3[_0x2fda14]){delete _0x510603[_0x2fda14];}}}}Realtime[_0xdeef('0x12')][_0xdeef('0x13')]=function(_0x51a78d,_0x4fccad){for(var _0x5b8fbb in _0x4fccad){if(_0x51a78d[_0xdeef('0x11')](_0x5b8fbb)){_0x51a78d[_0x5b8fbb]=_0x4fccad[_0x5b8fbb];}}};Realtime[_0xdeef('0x12')][_0xdeef('0x14')]=function(){var _0x206679=this;return function(_0x12e00e){if(_0x12e00e){freeIsNotKey(_0x12e00e,_0x206679[_0xdeef('0x6')],'id');for(var _0x278b02=0x0,_0x31d147={},_0x243d15={};_0x278b02<_0x12e00e[_0xdeef('0x15')];_0x278b02+=0x1){_0x31d147=_0x12e00e[_0x278b02];if(_[_0xdeef('0x16')](_0x206679[_0xdeef('0x6')][_0x31d147['id']])){_0x206679[_0xdeef('0x6')][_0x31d147['id']]=new Agent(_0x31d147);}else{_0x206679[_0xdeef('0x13')](_0x206679[_0xdeef('0x6')][_0x31d147['id']],_0x31d147);}}}return _0x206679[_0xdeef('0x6')];};};Realtime[_0xdeef('0x12')][_0xdeef('0x17')]=function(){var _0x4ce95c=this;return function(_0x326d42){if(_0x326d42){freeIsNotKey(_0x326d42,_0x4ce95c['intervals'],'id');for(var _0x4eefde=0x0,_0x8eb2eb={},_0x51e90d={};_0x4eefde<_0x326d42[_0xdeef('0x15')];_0x4eefde+=0x1){_0x8eb2eb=_0x326d42[_0x4eefde];if(_[_0xdeef('0x16')](_0x4ce95c[_0xdeef('0x7')][_0x8eb2eb['id']])){_0x4ce95c[_0xdeef('0x7')][_0x8eb2eb['id']]=new Interval(_0x8eb2eb);}else{_0x4ce95c[_0xdeef('0x13')](_0x4ce95c['intervals'][_0x8eb2eb['id']],_0x8eb2eb);}}}return _0x4ce95c[_0xdeef('0x7')];};};Realtime['prototype'][_0xdeef('0x18')]=function(){var _0x5e1cb2=this;return function(_0x4a9450){if(_0x4a9450){freeIsNotKey(_0x4a9450,_0x5e1cb2[_0xdeef('0x8')],'id');for(var _0xa2edeb=0x0,_0x24d52b={},_0x13171f={};_0xa2edeb<_0x4a9450[_0xdeef('0x15')];_0xa2edeb+=0x1){_0x24d52b=_0x4a9450[_0xa2edeb];if(_[_0xdeef('0x16')](_0x5e1cb2[_0xdeef('0x8')][_0x24d52b['id']])){_0x5e1cb2[_0xdeef('0x8')][_0x24d52b['id']]=new OpenchannelQueue(_0x24d52b);}else{_0x5e1cb2[_0xdeef('0x13')](_0x5e1cb2[_0xdeef('0x8')][_0x24d52b['id']],_0x24d52b);}_0x5e1cb2[_0xdeef('0x8')][_0x24d52b['id']][_0xdeef('0x19')]();_0x5e1cb2['openchannelQueues'][_0x24d52b['id']][_0xdeef('0x1a')]();}}return _0x5e1cb2[_0xdeef('0x8')];};};Realtime[_0xdeef('0x12')][_0xdeef('0x1b')]=function(){var _0x6d6719=this;return function(_0x2e827b){if(_0x2e827b){freeIsNotKey(_0x2e827b,_0x6d6719['chatQueues'],'id');for(var _0x463221=0x0,_0x7b6c04={},_0x219284={};_0x463221<_0x2e827b[_0xdeef('0x15')];_0x463221+=0x1){_0x7b6c04=_0x2e827b[_0x463221];if(_[_0xdeef('0x16')](_0x6d6719[_0xdeef('0x9')][_0x7b6c04['id']])){_0x6d6719[_0xdeef('0x9')][_0x7b6c04['id']]=new ChatQueue(_0x7b6c04);}else{_0x6d6719[_0xdeef('0x13')](_0x6d6719['chatQueues'][_0x7b6c04['id']],_0x7b6c04);}_0x6d6719[_0xdeef('0x9')][_0x7b6c04['id']][_0xdeef('0x19')]();_0x6d6719['chatQueues'][_0x7b6c04['id']]['updateRealtime']();}}return _0x6d6719[_0xdeef('0x9')];};};Realtime[_0xdeef('0x12')][_0xdeef('0x1c')]=function(){var _0x362709=this;return function(_0x2edb3c){if(_0x2edb3c){freeIsNotKey(_0x2edb3c,_0x362709[_0xdeef('0x1d')],'id');for(var _0x55b01f=0x0,_0x34c078={},_0xa6bb6c={};_0x55b01f<_0x2edb3c[_0xdeef('0x15')];_0x55b01f+=0x1){_0x34c078=_0x2edb3c[_0x55b01f];if(_[_0xdeef('0x16')](_0x362709[_0xdeef('0x1d')][_0x34c078['id']])){_0x362709['smsQueues'][_0x34c078['id']]=new SmsQueue(_0x34c078);}else{_0x362709['mergeFromDatabase'](_0x362709[_0xdeef('0x1d')][_0x34c078['id']],_0x34c078);}_0x362709['smsQueues'][_0x34c078['id']][_0xdeef('0x19')]();_0x362709[_0xdeef('0x1d')][_0x34c078['id']]['updateRealtime']();}}return _0x362709['smsQueues'];};};Realtime[_0xdeef('0x12')][_0xdeef('0x1e')]=function(){var _0x49c714=this;return function(_0x283bad){if(_0x283bad){freeIsNotKey(_0x283bad,_0x49c714[_0xdeef('0xa')],'id');for(var _0x482a24=0x0,_0x218b50={},_0x5bd88c={};_0x482a24<_0x283bad[_0xdeef('0x15')];_0x482a24+=0x1){_0x218b50=_0x283bad[_0x482a24];if(_[_0xdeef('0x16')](_0x49c714['mailQueues'][_0x218b50['id']])){_0x49c714[_0xdeef('0xa')][_0x218b50['id']]=new MailQueue(_0x218b50);}else{_0x49c714[_0xdeef('0x13')](_0x49c714[_0xdeef('0xa')][_0x218b50['id']],_0x218b50);}_0x49c714[_0xdeef('0xa')][_0x218b50['id']][_0xdeef('0x19')]();_0x49c714[_0xdeef('0xa')][_0x218b50['id']]['updateRealtime']();}}return _0x49c714[_0xdeef('0xa')];};};Realtime[_0xdeef('0x12')]['initFaxQueues']=function(){var _0x35f7d1=this;return function(_0xaddcd){if(_0xaddcd){freeIsNotKey(_0xaddcd,_0x35f7d1[_0xdeef('0xb')],'id');for(var _0x574654=0x0,_0x5b2932={},_0x11f81b={};_0x574654<_0xaddcd['length'];_0x574654+=0x1){_0x5b2932=_0xaddcd[_0x574654];if(_[_0xdeef('0x16')](_0x35f7d1[_0xdeef('0xb')][_0x5b2932['id']])){_0x35f7d1['faxQueues'][_0x5b2932['id']]=new FaxQueue(_0x5b2932);}else{_0x35f7d1[_0xdeef('0x13')](_0x35f7d1[_0xdeef('0xb')][_0x5b2932['id']],_0x5b2932);}_0x35f7d1[_0xdeef('0xb')][_0x5b2932['id']][_0xdeef('0x19')]();_0x35f7d1[_0xdeef('0xb')][_0x5b2932['id']][_0xdeef('0x1a')]();}}return _0x35f7d1['faxQueues'];};};module[_0xdeef('0x1f')]=Realtime;