Built motion from commit 87cd5f02.|2.5.48
[motion2.git] / server / services / ami / 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 _0x843d=['initVoiceExtensions','initCampaignHopperHistory','exports','util','lodash','moment','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/zohoAccount','../model/servicenowAccount','../model/freshsalesAccount','../model/faxAccount','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','queueChannels','salesforceAccounts','freshdeskAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','isNil','interface','name','total','answered','sumHoldTime','sumDuration','sumBillable','ivrTotalCallsDays','ivrAnswerCallsDay','isEmpty','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','agents','length','initTelephones','initTrunks','isUndefined','initTemplates','zendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','deskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','queuecallerabandon','queuecallerleaveAt','queuecallerjoinAt','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','diff','seconds','queuecallercomplete','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','dialQueueProject','SquareProject'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0x843d,0x1a7));var _0xd843=function(_0x2b7f99,_0x477c9b){_0x2b7f99=_0x2b7f99-0x0;var _0x5f5045=_0x843d[_0x2b7f99];return _0x5f5045;};'use strict';var BPromise=require('bluebird');var util=require(_0xd843('0x0'));var _=require(_0xd843('0x1'));var moment=require(_0xd843('0x2'));var Agent=require('../model/agent');var Telephone=require(_0xd843('0x3'));var Trunk=require(_0xd843('0x4'));var VoiceQueue=require(_0xd843('0x5'));var Trigger=require(_0xd843('0x6'));var Template=require('../model/template');var Campaign=require(_0xd843('0x7'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0xd843('0x8'));var SalesforceAccount=require(_0xd843('0x9'));var FreshdeskAccount=require(_0xd843('0xa'));var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0xd843('0xb'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0xd843('0xc'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require(_0xd843('0xd'));var FaxAccount=require(_0xd843('0xe'));var Realtime=function(){this['agents']={};this[_0xd843('0xf')]={};this[_0xd843('0x10')]={};this[_0xd843('0x11')]={};this[_0xd843('0x12')]={};this[_0xd843('0x13')]={};this[_0xd843('0x14')]={};this[_0xd843('0x15')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xd843('0x16')]={};this['channels']={};this[_0xd843('0x17')]={};this['outboundChannels']={};this['timers']={};this['settings']={};this['zendeskAccounts']={};this[_0xd843('0x18')]={};this['sugarcrmAccounts']={};this[_0xd843('0x19')]={};this['zohoAccounts']={};this['deskAccounts']={};this['vtigerAccounts']={};this[_0xd843('0x1a')]={};this[_0xd843('0x1b')]={};this[_0xd843('0x1c')]={};this[_0xd843('0x1d')]={};};function freeIsNotKey(_0x22dd9b,_0x56108e,_0x346169){var _0x15fb0e=_[_0xd843('0x1e')](_0x22dd9b,function(_0x1d2e33,_0x4140a5){return _0x1d2e33[_0x346169];});for(var _0x1635ed in _0x56108e){if(_0x56108e[_0xd843('0x1f')](_0x1635ed)){if(!_0x15fb0e[_0x1635ed]){delete _0x56108e[_0x1635ed];}}}}function freeIsNotKeySip(_0x172113,_0x251f30){var _0x13c54e=_[_0xd843('0x1e')](_0x172113,function(_0x3963cd,_0x5bfbe9){return util[_0xd843('0x20')](_0xd843('0x21'),_0x3963cd['name']);});for(var _0x210ab5 in _0x251f30){if(_0x251f30['hasOwnProperty'](_0x210ab5)){if(!_0x13c54e[_0x210ab5]){delete _0x251f30[_0x210ab5];}}}}function freeIsNotKeyAgent(_0x14ac4e,_0x1b0225){var _0x4801aa=_[_0xd843('0x1e')](_0x14ac4e,function(_0x21596f,_0x642eaf){var _0x451528=_[_0xd843('0x22')](_0x21596f[_0xd843('0x23')])?util[_0xd843('0x20')](_0xd843('0x21'),_0x21596f[_0xd843('0x24')]):_0x21596f['interface'];return _0x451528;});for(var _0x114d4f in _0x1b0225){if(_0x1b0225[_0xd843('0x1f')](_0x114d4f)){if(!_0x4801aa[_0x114d4f]){delete _0x1b0225[_0x114d4f];}}}}function clearVoiceCallReports(_0x456236){_0x456236[_0xd843('0x25')]=0x0;_0x456236[_0xd843('0x26')]=0x0;_0x456236[_0xd843('0x27')]=0x0;_0x456236[_0xd843('0x28')]=0x0;_0x456236[_0xd843('0x29')]=0x0;}function clearCampaigns(_0x14ab5b){if(!_['isEmpty'](_0x14ab5b)){for(var _0x366e25 in _0x14ab5b){if(_0x14ab5b[_0xd843('0x1f')](_0x366e25)){_0x14ab5b[_0x366e25][_0xd843('0x2a')]=0x0;_0x14ab5b[_0x366e25][_0xd843('0x2b')]=0x0;}}}}function clearVoiceQueues(_0x170cda){if(!_[_0xd843('0x2c')](_0x170cda)){for(var _0x1f42eb in _0x170cda){if(_0x170cda[_0xd843('0x1f')](_0x1f42eb)){_0x170cda[_0x1f42eb]['total']=0x0;_0x170cda[_0x1f42eb][_0xd843('0x26')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x2d')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x2e')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x27')]=0x0;_0x170cda[_0x1f42eb]['sumDuration']=0x0;_0x170cda[_0x1f42eb]['sumBillable']=0x0;_0x170cda[_0x1f42eb][_0xd843('0x2f')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x30')]=0x0;_0x170cda[_0x1f42eb]['outboundBusyCallsDay']=0x0;_0x170cda[_0x1f42eb][_0xd843('0x31')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x32')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x33')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x34')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x35')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x36')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x37')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x38')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x39')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x2f')]=0x0;_0x170cda[_0x1f42eb][_0xd843('0x3a')]=0x0;_0x170cda[_0x1f42eb]['queueStatusComplete']=!![];}}}}Realtime[_0xd843('0x3b')][_0xd843('0x3c')]=function(_0x14b355,_0x3e4b6e){for(var _0xc2364a in _0x3e4b6e){if(_0x14b355['hasOwnProperty'](_0xc2364a)){_0x14b355[_0xc2364a]=_0x3e4b6e[_0xc2364a];}}};Realtime[_0xd843('0x3b')]['initAgents']=function(){var _0x5f4c54=this;return function(_0xdf2ff4){if(_0xdf2ff4){freeIsNotKeyAgent(_0xdf2ff4,_0x5f4c54[_0xd843('0x3d')]);for(var _0x10d640=0x0,_0x3e9a44={},_0x5e2c22={};_0x10d640<_0xdf2ff4[_0xd843('0x3e')];_0x10d640+=0x1){_0x3e9a44=_0xdf2ff4[_0x10d640];var _0x217681=_['isNil'](_0x3e9a44['interface'])?util[_0xd843('0x20')](_0xd843('0x21'),_0x3e9a44['name']):_0x3e9a44[_0xd843('0x23')];if(_['isUndefined'](_0x5f4c54[_0xd843('0x3d')][_0x217681])){_0x5f4c54[_0xd843('0x3d')][_0x217681]=new Agent(_0x3e9a44);}else{_0x5f4c54[_0xd843('0x3c')](_0x5f4c54['agents'][_0x217681],_0x3e9a44);}}}return _0x5f4c54['agents'];};};Realtime[_0xd843('0x3b')][_0xd843('0x3f')]=function(){var _0x306026=this;return function(_0x148897){if(_0x148897){freeIsNotKeySip(_0x148897,_0x306026[_0xd843('0xf')]);for(var _0x1c9412=0x0,_0x49fce6={},_0x4481de={};_0x1c9412<_0x148897['length'];_0x1c9412+=0x1){_0x49fce6=_0x148897[_0x1c9412];if(_['isUndefined'](_0x306026[_0xd843('0xf')][util[_0xd843('0x20')](_0xd843('0x21'),_0x49fce6[_0xd843('0x24')])])){_0x306026[_0xd843('0xf')][util[_0xd843('0x20')](_0xd843('0x21'),_0x49fce6[_0xd843('0x24')])]=new Telephone(_0x49fce6);}else{_0x306026['mergeFromDatabase'](_0x306026[_0xd843('0xf')][util[_0xd843('0x20')](_0xd843('0x21'),_0x49fce6[_0xd843('0x24')])],_0x49fce6);}}}return _0x306026[_0xd843('0xf')];};};Realtime[_0xd843('0x3b')][_0xd843('0x40')]=function(){var _0x26c93c=this;return function(_0x5de491){if(_0x5de491){freeIsNotKeySip(_0x5de491,_0x26c93c['trunks']);for(var _0x368d13=0x0,_0x4b4cee={},_0x340288={};_0x368d13<_0x5de491[_0xd843('0x3e')];_0x368d13+=0x1){_0x4b4cee=_0x5de491[_0x368d13];if(_['isUndefined'](_0x26c93c[_0xd843('0x10')][util[_0xd843('0x20')](_0xd843('0x21'),_0x4b4cee[_0xd843('0x24')])])){_0x26c93c[_0xd843('0x10')][util[_0xd843('0x20')]('SIP/%s',_0x4b4cee[_0xd843('0x24')])]=new Trunk(_0x4b4cee);}else{_0x26c93c[_0xd843('0x3c')](_0x26c93c[_0xd843('0x10')][util[_0xd843('0x20')]('SIP/%s',_0x4b4cee[_0xd843('0x24')])],_0x4b4cee);}}}return _0x26c93c[_0xd843('0x10')];};};Realtime[_0xd843('0x3b')]['initVoiceQueues']=function(){var _0x5f1f1f=this;return function(_0x33cf6b){if(_0x33cf6b){freeIsNotKey(_0x33cf6b,_0x5f1f1f[_0xd843('0x11')],_0xd843('0x24'));for(var _0x14890d=0x0,_0x459dc2={},_0x3f9026={};_0x14890d<_0x33cf6b[_0xd843('0x3e')];_0x14890d+=0x1){_0x459dc2=_0x33cf6b[_0x14890d];if(_[_0xd843('0x41')](_0x5f1f1f[_0xd843('0x11')][_0x459dc2[_0xd843('0x24')]])){_0x5f1f1f[_0xd843('0x11')][_0x459dc2['name']]=new VoiceQueue(_0x459dc2);}else{_0x5f1f1f[_0xd843('0x3c')](_0x5f1f1f[_0xd843('0x11')][_0x459dc2[_0xd843('0x24')]],_0x459dc2);}}}return _0x5f1f1f[_0xd843('0x11')];};};Realtime['prototype']['initTriggers']=function(){var _0x521883=this;return function(_0x372e48){if(_0x372e48){freeIsNotKey(_0x372e48,_0x521883[_0xd843('0x12')],'id');for(var _0x48ff88=0x0,_0x3122b3={},_0x448741={};_0x48ff88<_0x372e48[_0xd843('0x3e')];_0x48ff88+=0x1){_0x3122b3=_0x372e48[_0x48ff88];if(_['isUndefined'](_0x521883[_0xd843('0x12')][_0x3122b3['id']])){_0x521883['triggers'][_0x3122b3['id']]=new Trigger(_0x3122b3);}else{_0x521883['mergeFromDatabase'](_0x521883[_0xd843('0x12')][_0x3122b3['id']],_0x3122b3);}}}return _0x521883[_0xd843('0x12')];};};Realtime['prototype'][_0xd843('0x42')]=function(){var _0x4761cc=this;return function(_0x349a9c){if(_0x349a9c){freeIsNotKey(_0x349a9c,_0x4761cc['templates'],'id');for(var _0x529dbd=0x0,_0x2267cc={},_0xccc7c5={};_0x529dbd<_0x349a9c['length'];_0x529dbd+=0x1){_0x2267cc=_0x349a9c[_0x529dbd];if(_[_0xd843('0x41')](_0x4761cc['templates'][_0x2267cc['id']])){_0x4761cc[_0xd843('0x14')][_0x2267cc['id']]=new Template(_0x2267cc);}else{_0x4761cc[_0xd843('0x3c')](_0x4761cc['templates'][_0x2267cc['id']],_0x2267cc);}}}return _0x4761cc[_0xd843('0x14')];};};Realtime[_0xd843('0x3b')]['initZendeskAccounts']=function(){var _0x35cf72=this;return function(_0x3aecf1){if(_0x3aecf1){freeIsNotKey(_0x3aecf1,_0x35cf72['zendeskAccounts'],'id');for(var _0x23a47b=0x0,_0x5a46c9={},_0x43c105={};_0x23a47b<_0x3aecf1[_0xd843('0x3e')];_0x23a47b+=0x1){_0x5a46c9=_0x3aecf1[_0x23a47b];if(_[_0xd843('0x41')](_0x35cf72[_0xd843('0x43')][_0x5a46c9['id']])){_0x35cf72[_0xd843('0x43')][_0x5a46c9['id']]=new ZendeskAccount(_0x5a46c9);}else{_0x35cf72['mergeFromDatabase'](_0x35cf72[_0xd843('0x43')][_0x5a46c9['id']],_0x5a46c9);}}}return _0x35cf72['zendeskAccounts'];};};Realtime[_0xd843('0x3b')][_0xd843('0x44')]=function(){var _0x4e618e=this;return function(_0x37b43e){if(_0x37b43e){freeIsNotKey(_0x37b43e,_0x4e618e[_0xd843('0x18')],'id');for(var _0x1fbccf=0x0,_0x2ecb9d={},_0x2bfd74={};_0x1fbccf<_0x37b43e[_0xd843('0x3e')];_0x1fbccf+=0x1){_0x2ecb9d=_0x37b43e[_0x1fbccf];if(_['isUndefined'](_0x4e618e[_0xd843('0x18')][_0x2ecb9d['id']])){_0x4e618e[_0xd843('0x18')][_0x2ecb9d['id']]=new SalesforceAccount(_0x2ecb9d);}else{_0x4e618e[_0xd843('0x3c')](_0x4e618e[_0xd843('0x18')][_0x2ecb9d['id']],_0x2ecb9d);}}}return _0x4e618e[_0xd843('0x18')];};};Realtime['prototype'][_0xd843('0x45')]=function(){var _0x1f8559=this;return function(_0x2ae36c){if(_0x2ae36c){freeIsNotKey(_0x2ae36c,_0x1f8559[_0xd843('0x19')],'id');for(var _0x4b0ef9=0x0,_0x12d10d={},_0x13703d={};_0x4b0ef9<_0x2ae36c[_0xd843('0x3e')];_0x4b0ef9+=0x1){_0x12d10d=_0x2ae36c[_0x4b0ef9];if(_[_0xd843('0x41')](_0x1f8559[_0xd843('0x19')][_0x12d10d['id']])){_0x1f8559[_0xd843('0x19')][_0x12d10d['id']]=new FreshdeskAccount(_0x12d10d);}else{_0x1f8559[_0xd843('0x3c')](_0x1f8559[_0xd843('0x19')][_0x12d10d['id']],_0x12d10d);}}}return _0x1f8559[_0xd843('0x19')];};};Realtime[_0xd843('0x3b')][_0xd843('0x46')]=function(){var _0x135b96=this;return function(_0x20cd59){if(_0x20cd59){freeIsNotKey(_0x20cd59,_0x135b96[_0xd843('0x47')],'id');for(var _0x4d2fd2=0x0,_0x597807={},_0x561121={};_0x4d2fd2<_0x20cd59[_0xd843('0x3e')];_0x4d2fd2+=0x1){_0x597807=_0x20cd59[_0x4d2fd2];if(_['isUndefined'](_0x135b96['zohoAccounts'][_0x597807['id']])){_0x135b96[_0xd843('0x47')][_0x597807['id']]=new ZohoAccount(_0x597807);}else{_0x135b96[_0xd843('0x3c')](_0x135b96['zohoAccounts'][_0x597807['id']],_0x597807);}}}return _0x135b96[_0xd843('0x47')];};};Realtime[_0xd843('0x3b')][_0xd843('0x48')]=function(){var _0x46bdc8=this;return function(_0x397fda){if(_0x397fda){freeIsNotKey(_0x397fda,_0x46bdc8[_0xd843('0x49')],'id');for(var _0xb1d65d=0x0,_0x30f8ba={},_0x15fc25={};_0xb1d65d<_0x397fda['length'];_0xb1d65d+=0x1){_0x30f8ba=_0x397fda[_0xb1d65d];if(_[_0xd843('0x41')](_0x46bdc8[_0xd843('0x49')][_0x30f8ba['id']])){_0x46bdc8[_0xd843('0x49')][_0x30f8ba['id']]=new DeskAccount(_0x30f8ba);}else{_0x46bdc8[_0xd843('0x3c')](_0x46bdc8[_0xd843('0x49')][_0x30f8ba['id']],_0x30f8ba);}}}return _0x46bdc8[_0xd843('0x49')];};};Realtime['prototype'][_0xd843('0x4a')]=function(){var _0x5cee09=this;return function(_0x55e33e){if(_0x55e33e){freeIsNotKey(_0x55e33e,_0x5cee09[_0xd843('0x4b')],'id');for(var _0x1efcb2=0x0,_0x11e675={},_0x469b4f={};_0x1efcb2<_0x55e33e[_0xd843('0x3e')];_0x1efcb2+=0x1){_0x11e675=_0x55e33e[_0x1efcb2];if(_['isUndefined'](_0x5cee09['sugarcrmAccounts'][_0x11e675['id']])){_0x5cee09[_0xd843('0x4b')][_0x11e675['id']]=new SugarcrmAccount(_0x11e675);}else{_0x5cee09[_0xd843('0x3c')](_0x5cee09[_0xd843('0x4b')][_0x11e675['id']],_0x11e675);}}}return _0x5cee09[_0xd843('0x4b')];};};Realtime[_0xd843('0x3b')][_0xd843('0x4c')]=function(){var _0x2fbf32=this;return function(_0x18cfea){if(_0x18cfea){freeIsNotKey(_0x18cfea,_0x2fbf32[_0xd843('0x4d')],'id');for(var _0x511d7e=0x0,_0x2fcfc7={},_0x2e504f={};_0x511d7e<_0x18cfea[_0xd843('0x3e')];_0x511d7e+=0x1){_0x2fcfc7=_0x18cfea[_0x511d7e];if(_[_0xd843('0x41')](_0x2fbf32['vtigerAccounts'][_0x2fcfc7['id']])){_0x2fbf32['vtigerAccounts'][_0x2fcfc7['id']]=new VtigerAccount(_0x2fcfc7);}else{_0x2fbf32[_0xd843('0x3c')](_0x2fbf32[_0xd843('0x4d')][_0x2fcfc7['id']],_0x2fcfc7);}}}return _0x2fbf32[_0xd843('0x4d')];};};Realtime[_0xd843('0x3b')][_0xd843('0x4e')]=function(){var _0x2afd71=this;return function(_0x10a566){if(_0x10a566){freeIsNotKey(_0x10a566,_0x2afd71[_0xd843('0x1a')],'id');for(var _0x2af091=0x0,_0x18c33b={},_0x4838ac={};_0x2af091<_0x10a566[_0xd843('0x3e')];_0x2af091+=0x1){_0x18c33b=_0x10a566[_0x2af091];if(_['isUndefined'](_0x2afd71[_0xd843('0x1a')][_0x18c33b['id']])){_0x2afd71['servicenowAccounts'][_0x18c33b['id']]=new ServicenowAccount(_0x18c33b);}else{_0x2afd71[_0xd843('0x3c')](_0x2afd71[_0xd843('0x1a')][_0x18c33b['id']],_0x18c33b);}}}return _0x2afd71['servicenowAccounts'];};};Realtime[_0xd843('0x3b')]['initDynamics365Accounts']=function(){var _0x49888d=this;return function(_0x1442ee){if(_0x1442ee){freeIsNotKey(_0x1442ee,_0x49888d[_0xd843('0x1b')],'id');for(var _0x2165f0=0x0,_0x2e47d9={},_0x2e64f7={};_0x2165f0<_0x1442ee[_0xd843('0x3e')];_0x2165f0+=0x1){_0x2e47d9=_0x1442ee[_0x2165f0];if(_[_0xd843('0x41')](_0x49888d[_0xd843('0x1b')][_0x2e47d9['id']])){_0x49888d['dynamics365Accounts'][_0x2e47d9['id']]=new Dynamics365Account(_0x2e47d9);}else{_0x49888d[_0xd843('0x3c')](_0x49888d[_0xd843('0x1b')][_0x2e47d9['id']],_0x2e47d9);}}}return _0x49888d[_0xd843('0x1b')];};};Realtime[_0xd843('0x3b')][_0xd843('0x4f')]=function(){var _0xbeea2e=this;return function(_0x9ccbff){if(_0x9ccbff){freeIsNotKey(_0x9ccbff,_0xbeea2e[_0xd843('0x1c')],'id');for(var _0x9977b7=0x0,_0x75d456={},_0x268819={};_0x9977b7<_0x9ccbff[_0xd843('0x3e')];_0x9977b7+=0x1){_0x75d456=_0x9ccbff[_0x9977b7];if(_['isUndefined'](_0xbeea2e[_0xd843('0x1c')][_0x75d456['id']])){_0xbeea2e['freshsalesAccounts'][_0x75d456['id']]=new FreshsalesAccount(_0x75d456);}else{_0xbeea2e[_0xd843('0x3c')](_0xbeea2e['freshsalesAccounts'][_0x75d456['id']],_0x75d456);}}}return _0xbeea2e['freshsalesAccounts'];};};Realtime['prototype'][_0xd843('0x50')]=function(){var _0x3d2e33=this;return function(_0x3b0fb9){for(var _0x40a5c0=0x0;_0x40a5c0<_0x3b0fb9['length'];_0x40a5c0+=0x1){_[_0xd843('0x51')](_0x3d2e33['voiceQueues'][_0x3b0fb9[_0x40a5c0][_0xd843('0x24')]],_0x3b0fb9[_0x40a5c0]);}return _0x3d2e33[_0xd843('0x11')];};};Realtime[_0xd843('0x3b')][_0xd843('0x52')]=function(){var _0x2d9434=this;return function(_0x214dbb){clearVoiceQueues(_0x2d9434['voiceQueues']);if(_0x214dbb){_0x214dbb=_[_0xd843('0x53')](_0x214dbb,_0xd843('0x54'));for(var _0x554d8b in _0x214dbb){if(_0x214dbb[_0xd843('0x1f')](_0x554d8b)){var _0x52a4e6={};for(var _0x6d2e55=0x0;_0x6d2e55<_0x214dbb[_0x554d8b][_0xd843('0x3e')];_0x6d2e55+=0x1){var _0x230cd5=_0x214dbb[_0x554d8b][_0x6d2e55]['queue'];if(_0x2d9434['voiceQueues'][_0x230cd5]){if(_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x55')]){_0x2d9434[_0xd843('0x11')][_0x230cd5][_0xd843('0x2d')]+=0x1;}if(_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x56')]){_0x2d9434[_0xd843('0x11')][_0x230cd5]['abandoned']+=0x1;}_0x2d9434['voiceQueues'][_0x230cd5]['sumHoldTime']+=moment(_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x57')])['diff'](moment(_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x58')]),'seconds')||0x0;if(_0x6d2e55===_0x214dbb[_0x554d8b][_0xd843('0x3e')]-0x1){_0x2d9434['voiceQueues'][_0x230cd5][_0xd843('0x28')]+=moment(_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x59')]||_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x5a')]||_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x5b')])[_0xd843('0x5c')](moment(_0x214dbb[_0x554d8b][_0x6d2e55]['queuecallerjoinAt']),_0xd843('0x5d'))||0x0;_0x2d9434[_0xd843('0x11')][_0x230cd5][_0xd843('0x25')]+=0x1;if(_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x5e')]){_0x2d9434[_0xd843('0x11')][_0x230cd5][_0xd843('0x26')]+=0x1;_0x2d9434['voiceQueues'][_0x230cd5]['sumBillable']+=moment(_0x214dbb[_0x554d8b][_0x6d2e55][_0xd843('0x59')])[_0xd843('0x5c')](moment(_0x214dbb[_0x554d8b][_0x6d2e55]['queuecallerleaveAt']),_0xd843('0x5d'))||0x0;}}else{_0x2d9434[_0xd843('0x11')][_0x230cd5][_0xd843('0x28')]+=_0x2d9434[_0xd843('0x11')][_0x230cd5][_0xd843('0x27')]||0x0;}}}}}}return _0x2d9434[_0xd843('0x11')];};};Realtime[_0xd843('0x3b')][_0xd843('0x5f')]=function(){var _0x4da3e7=this;return function(_0x5d8066){clearVoiceCallReports(_0x4da3e7[_0xd843('0x15')]);if(_0x5d8066){for(var _0x571b5f=0x0;_0x571b5f<_0x5d8066['length'];_0x571b5f+=0x1){_0x4da3e7[_0xd843('0x15')][_0xd843('0x25')]+=0x1;_0x4da3e7['outbound'][_0xd843('0x28')]+=_0x5d8066[_0x571b5f][_0xd843('0x60')];if(_0x5d8066[_0x571b5f][_0xd843('0x61')]===_0xd843('0x62')){_0x4da3e7[_0xd843('0x15')][_0xd843('0x26')]+=0x1;_0x4da3e7[_0xd843('0x15')]['sumHoldTime']+=_0x5d8066[_0x571b5f][_0xd843('0x60')]-_0x5d8066[_0x571b5f][_0xd843('0x63')]||0x0;_0x4da3e7[_0xd843('0x15')]['sumBillable']+=_0x5d8066[_0x571b5f][_0xd843('0x63')];}}}return _0x4da3e7[_0xd843('0x15')];};};Realtime[_0xd843('0x3b')]['initCampaigns']=function(){var _0x3e107e=this;return function(_0x216f36){if(_0x216f36){freeIsNotKey(_0x216f36,_0x3e107e[_0xd843('0x13')],'name');for(var _0x52602a=0x0,_0x185712={};_0x52602a<_0x216f36[_0xd843('0x3e')];_0x52602a+=0x1){_0x185712=_0x216f36[_0x52602a];if(_[_0xd843('0x41')](_0x3e107e[_0xd843('0x13')][_0x185712['name']])){_0x3e107e[_0xd843('0x13')][_0x185712[_0xd843('0x24')]]=new Campaign(_0x185712);}else{_0x3e107e['mergeFromDatabase'](_0x3e107e[_0xd843('0x13')][_0x185712[_0xd843('0x24')]],_0x185712);_0x3e107e[_0xd843('0x13')][_0x185712[_0xd843('0x24')]][_0xd843('0x64')]=_0x185712[_0xd843('0x65')]?_0x185712[_0xd843('0x65')][_0xd843('0x24')]:undefined;}}}return _0x3e107e[_0xd843('0x13')];};};Realtime['prototype'][_0xd843('0x66')]=function(){var _0x506a8a=this;return function(_0x499346){if(_0x499346){freeIsNotKey(_0x499346,_0x506a8a['voiceExtensions'],'id');for(var _0x4a6d4e=0x0,_0x781cac={};_0x4a6d4e<_0x499346[_0xd843('0x3e')];_0x4a6d4e+=0x1){_0x781cac=_0x499346[_0x4a6d4e];if(_[_0xd843('0x41')](_0x506a8a[_0xd843('0x16')][_0x781cac['id']])){_0x506a8a['voiceExtensions'][_0x781cac['id']]=new VoiceExtension(_0x781cac);}else{_0x506a8a['mergeFromDatabase'](_0x506a8a[_0xd843('0x16')][_0x781cac['id']],_0x781cac);}}}return _0x506a8a[_0xd843('0x16')];};};Realtime[_0xd843('0x3b')][_0xd843('0x67')]=function(){var _0x294376=this;return function(_0x4d03bd){clearCampaigns(_0x294376[_0xd843('0x13')]);for(var _0x296313=0x0;_0x296313<_0x4d03bd[_0xd843('0x3e')];_0x296313+=0x1){_[_0xd843('0x51')](_0x294376['campaigns'][_0x4d03bd[_0x296313][_0xd843('0x24')]],_0x4d03bd[_0x296313]);}return _0x294376[_0xd843('0x13')];};};Realtime['prototype']['initFaxAccounts']=function(){var _0x461816=this;return function(_0x410288){if(_0x410288){freeIsNotKey(_0x410288,_0x461816[_0xd843('0x1d')],'id');for(var _0x1f8939=0x0,_0xa8250={},_0x54ba66={};_0x1f8939<_0x410288['length'];_0x1f8939+=0x1){_0xa8250=_0x410288[_0x1f8939];if(_[_0xd843('0x41')](_0x461816[_0xd843('0x1d')][_0xa8250['id']])){_0x461816[_0xd843('0x1d')][_0xa8250['id']]=new FaxAccount(_0xa8250);}else{_0x461816[_0xd843('0x3c')](_0x461816[_0xd843('0x1d')][_0xa8250['id']],_0xa8250);}}}return _0x461816[_0xd843('0x1d')];};};module[_0xd843('0x68')]=Realtime;