Built motion from commit (unavailable).|2.5.14
[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 _0x7d40=['outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayCallersExit','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','agents','length','isUndefined','initTelephones','telephones','SIP/%s','initTrunks','trunks','initVoiceQueues','initTemplates','initZendeskAccounts','zendeskAccounts','salesforceAccounts','initZohoAccounts','initDeskAccounts','deskAccounts','initSugarcrmAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerexitAt','queuecallercomplete','duration','ANSWERED','billableseconds','initCampaigns','SquareProject','initFaxAccounts','faxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/vtigerAccount','../model/servicenowAccount','../model/faxAccount','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','timers','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','hasOwnProperty','format','name','isNil','interface','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrAnswerCallsDay','unmanaged','abandoned'];(function(_0x22cc16,_0x1f4fa2){var _0x399b70=function(_0x34d464){while(--_0x34d464){_0x22cc16['push'](_0x22cc16['shift']());}};_0x399b70(++_0x1f4fa2);}(_0x7d40,0x9d));var _0x07d4=function(_0x441c2b,_0x55b78d){_0x441c2b=_0x441c2b-0x0;var _0x2ec518=_0x7d40[_0x441c2b];return _0x2ec518;};'use strict';var BPromise=require(_0x07d4('0x0'));var util=require(_0x07d4('0x1'));var _=require(_0x07d4('0x2'));var moment=require(_0x07d4('0x3'));var Agent=require(_0x07d4('0x4'));var Telephone=require(_0x07d4('0x5'));var Trunk=require(_0x07d4('0x6'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require('../model/trigger');var Template=require(_0x07d4('0x7'));var Campaign=require(_0x07d4('0x8'));var VoiceExtension=require(_0x07d4('0x9'));var ZendeskAccount=require(_0x07d4('0xa'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x07d4('0xb'));var SugarcrmAccount=require(_0x07d4('0xc'));var ZohoAccount=require(_0x07d4('0xd'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0x07d4('0xe'));var ServicenowAccount=require(_0x07d4('0xf'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x07d4('0x10'));var Realtime=function(){this['agents']={};this['telephones']={};this['trunks']={};this[_0x07d4('0x11')]={};this[_0x07d4('0x12')]={};this[_0x07d4('0x13')]={};this[_0x07d4('0x14')]={};this[_0x07d4('0x15')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x07d4('0x16')]={};this[_0x07d4('0x17')]={};this[_0x07d4('0x18')]={};this[_0x07d4('0x19')]={};this[_0x07d4('0x1a')]={};this['zendeskAccounts']={};this['salesforceAccounts']={};this[_0x07d4('0x1b')]={};this[_0x07d4('0x1c')]={};this[_0x07d4('0x1d')]={};this['deskAccounts']={};this['vtigerAccounts']={};this[_0x07d4('0x1e')]={};this[_0x07d4('0x1f')]={};this[_0x07d4('0x20')]={};this['faxAccounts']={};};function freeIsNotKey(_0x1f26d4,_0x3211a4,_0x22bc01){var _0x345895=_['mapKeys'](_0x1f26d4,function(_0xd222b5,_0x14df3a){return _0xd222b5[_0x22bc01];});for(var _0x49b56c in _0x3211a4){if(_0x3211a4[_0x07d4('0x21')](_0x49b56c)){if(!_0x345895[_0x49b56c]){delete _0x3211a4[_0x49b56c];}}}}function freeIsNotKeySip(_0x4f1570,_0x546c34){var _0x425571=_['mapKeys'](_0x4f1570,function(_0x21f178,_0x46b6e0){return util[_0x07d4('0x22')]('SIP/%s',_0x21f178[_0x07d4('0x23')]);});for(var _0x2d4bfa in _0x546c34){if(_0x546c34[_0x07d4('0x21')](_0x2d4bfa)){if(!_0x425571[_0x2d4bfa]){delete _0x546c34[_0x2d4bfa];}}}}function freeIsNotKeyAgent(_0x5807da,_0x529b4a){var _0x42b8c0=_['mapKeys'](_0x5807da,function(_0x462e02,_0x4fb753){var _0x3386f0=_[_0x07d4('0x24')](_0x462e02[_0x07d4('0x25')])?util[_0x07d4('0x22')]('SIP/%s',_0x462e02['name']):_0x462e02['interface'];return _0x3386f0;});for(var _0x454f0e in _0x529b4a){if(_0x529b4a[_0x07d4('0x21')](_0x454f0e)){if(!_0x42b8c0[_0x454f0e]){delete _0x529b4a[_0x454f0e];}}}}function clearVoiceCallReports(_0x5cc0ef){_0x5cc0ef[_0x07d4('0x26')]=0x0;_0x5cc0ef[_0x07d4('0x27')]=0x0;_0x5cc0ef[_0x07d4('0x28')]=0x0;_0x5cc0ef[_0x07d4('0x29')]=0x0;_0x5cc0ef[_0x07d4('0x2a')]=0x0;}function clearCampaigns(_0x2dbdab){if(!_[_0x07d4('0x2b')](_0x2dbdab)){for(var _0x47c209 in _0x2dbdab){if(_0x2dbdab['hasOwnProperty'](_0x47c209)){_0x2dbdab[_0x47c209]['ivrTotalCallsDays']=0x0;_0x2dbdab[_0x47c209][_0x07d4('0x2c')]=0x0;}}}}function clearVoiceQueues(_0x25468a){if(!_['isEmpty'](_0x25468a)){for(var _0x3a501e in _0x25468a){if(_0x25468a['hasOwnProperty'](_0x3a501e)){_0x25468a[_0x3a501e]['total']=0x0;_0x25468a[_0x3a501e][_0x07d4('0x27')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x2d')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x2e')]=0x0;_0x25468a[_0x3a501e]['sumHoldTime']=0x0;_0x25468a[_0x3a501e][_0x07d4('0x29')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x2a')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x2f')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x30')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x31')]=0x0;_0x25468a[_0x3a501e]['outboundCongestionCallsDay']=0x0;_0x25468a[_0x3a501e][_0x07d4('0x32')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x33')]=0x0;_0x25468a[_0x3a501e]['outboundDropCallsDayTimeout']=0x0;_0x25468a[_0x3a501e][_0x07d4('0x34')]=0x0;_0x25468a[_0x3a501e]['outboundBlacklistCallsDay']=0x0;_0x25468a[_0x3a501e][_0x07d4('0x35')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x36')]=0x0;_0x25468a[_0x3a501e]['outboundReCallsDay']=0x0;_0x25468a[_0x3a501e][_0x07d4('0x2f')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x37')]=0x0;_0x25468a[_0x3a501e][_0x07d4('0x38')]=!![];}}}}Realtime[_0x07d4('0x39')][_0x07d4('0x3a')]=function(_0x217043,_0x15bd51){for(var _0x107a4a in _0x15bd51){if(_0x217043[_0x07d4('0x21')](_0x107a4a)){_0x217043[_0x107a4a]=_0x15bd51[_0x107a4a];}}};Realtime['prototype'][_0x07d4('0x3b')]=function(){var _0x306d78=this;return function(_0x49d707){if(_0x49d707){freeIsNotKeyAgent(_0x49d707,_0x306d78[_0x07d4('0x3c')]);for(var _0x2f4931=0x0,_0x467ce2={},_0x24c659={};_0x2f4931<_0x49d707[_0x07d4('0x3d')];_0x2f4931+=0x1){_0x467ce2=_0x49d707[_0x2f4931];var _0xa4f467=_[_0x07d4('0x24')](_0x467ce2[_0x07d4('0x25')])?util[_0x07d4('0x22')]('SIP/%s',_0x467ce2[_0x07d4('0x23')]):_0x467ce2[_0x07d4('0x25')];if(_[_0x07d4('0x3e')](_0x306d78['agents'][_0xa4f467])){_0x306d78[_0x07d4('0x3c')][_0xa4f467]=new Agent(_0x467ce2);}else{_0x306d78[_0x07d4('0x3a')](_0x306d78[_0x07d4('0x3c')][_0xa4f467],_0x467ce2);}}}return _0x306d78[_0x07d4('0x3c')];};};Realtime['prototype'][_0x07d4('0x3f')]=function(){var _0x1a3e8b=this;return function(_0x4d7978){if(_0x4d7978){freeIsNotKeySip(_0x4d7978,_0x1a3e8b[_0x07d4('0x40')]);for(var _0x59cdf1=0x0,_0x49562e={},_0x5a66fa={};_0x59cdf1<_0x4d7978[_0x07d4('0x3d')];_0x59cdf1+=0x1){_0x49562e=_0x4d7978[_0x59cdf1];if(_[_0x07d4('0x3e')](_0x1a3e8b[_0x07d4('0x40')][util[_0x07d4('0x22')](_0x07d4('0x41'),_0x49562e['name'])])){_0x1a3e8b[_0x07d4('0x40')][util['format']('SIP/%s',_0x49562e['name'])]=new Telephone(_0x49562e);}else{_0x1a3e8b['mergeFromDatabase'](_0x1a3e8b[_0x07d4('0x40')][util[_0x07d4('0x22')](_0x07d4('0x41'),_0x49562e[_0x07d4('0x23')])],_0x49562e);}}}return _0x1a3e8b[_0x07d4('0x40')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x42')]=function(){var _0x362aaa=this;return function(_0x6a963d){if(_0x6a963d){freeIsNotKeySip(_0x6a963d,_0x362aaa[_0x07d4('0x43')]);for(var _0x192831=0x0,_0x20d2dd={},_0x2d6b5d={};_0x192831<_0x6a963d[_0x07d4('0x3d')];_0x192831+=0x1){_0x20d2dd=_0x6a963d[_0x192831];if(_[_0x07d4('0x3e')](_0x362aaa['trunks'][util['format'](_0x07d4('0x41'),_0x20d2dd[_0x07d4('0x23')])])){_0x362aaa[_0x07d4('0x43')][util[_0x07d4('0x22')](_0x07d4('0x41'),_0x20d2dd[_0x07d4('0x23')])]=new Trunk(_0x20d2dd);}else{_0x362aaa[_0x07d4('0x3a')](_0x362aaa[_0x07d4('0x43')][util['format']('SIP/%s',_0x20d2dd[_0x07d4('0x23')])],_0x20d2dd);}}}return _0x362aaa['trunks'];};};Realtime['prototype'][_0x07d4('0x44')]=function(){var _0x3f08b7=this;return function(_0x26d738){if(_0x26d738){freeIsNotKey(_0x26d738,_0x3f08b7[_0x07d4('0x11')],_0x07d4('0x23'));for(var _0x4d1215=0x0,_0x1a2165={},_0x430730={};_0x4d1215<_0x26d738[_0x07d4('0x3d')];_0x4d1215+=0x1){_0x1a2165=_0x26d738[_0x4d1215];if(_['isUndefined'](_0x3f08b7[_0x07d4('0x11')][_0x1a2165[_0x07d4('0x23')]])){_0x3f08b7[_0x07d4('0x11')][_0x1a2165['name']]=new VoiceQueue(_0x1a2165);}else{_0x3f08b7[_0x07d4('0x3a')](_0x3f08b7[_0x07d4('0x11')][_0x1a2165[_0x07d4('0x23')]],_0x1a2165);}}}return _0x3f08b7[_0x07d4('0x11')];};};Realtime[_0x07d4('0x39')]['initTriggers']=function(){var _0x8d075b=this;return function(_0x43b52b){if(_0x43b52b){freeIsNotKey(_0x43b52b,_0x8d075b[_0x07d4('0x12')],'id');for(var _0x34d979=0x0,_0x29bf12={},_0x2d06c3={};_0x34d979<_0x43b52b[_0x07d4('0x3d')];_0x34d979+=0x1){_0x29bf12=_0x43b52b[_0x34d979];if(_[_0x07d4('0x3e')](_0x8d075b['triggers'][_0x29bf12['id']])){_0x8d075b[_0x07d4('0x12')][_0x29bf12['id']]=new Trigger(_0x29bf12);}else{_0x8d075b[_0x07d4('0x3a')](_0x8d075b[_0x07d4('0x12')][_0x29bf12['id']],_0x29bf12);}}}return _0x8d075b['triggers'];};};Realtime[_0x07d4('0x39')][_0x07d4('0x45')]=function(){var _0x3f9ed6=this;return function(_0x519f9c){if(_0x519f9c){freeIsNotKey(_0x519f9c,_0x3f9ed6['templates'],'id');for(var _0x374202=0x0,_0xe84391={},_0x141305={};_0x374202<_0x519f9c[_0x07d4('0x3d')];_0x374202+=0x1){_0xe84391=_0x519f9c[_0x374202];if(_[_0x07d4('0x3e')](_0x3f9ed6['templates'][_0xe84391['id']])){_0x3f9ed6[_0x07d4('0x14')][_0xe84391['id']]=new Template(_0xe84391);}else{_0x3f9ed6['mergeFromDatabase'](_0x3f9ed6[_0x07d4('0x14')][_0xe84391['id']],_0xe84391);}}}return _0x3f9ed6[_0x07d4('0x14')];};};Realtime['prototype'][_0x07d4('0x46')]=function(){var _0x7d2ec2=this;return function(_0x479edf){if(_0x479edf){freeIsNotKey(_0x479edf,_0x7d2ec2[_0x07d4('0x47')],'id');for(var _0x2d9352=0x0,_0x3895b2={},_0x228c81={};_0x2d9352<_0x479edf[_0x07d4('0x3d')];_0x2d9352+=0x1){_0x3895b2=_0x479edf[_0x2d9352];if(_[_0x07d4('0x3e')](_0x7d2ec2[_0x07d4('0x47')][_0x3895b2['id']])){_0x7d2ec2[_0x07d4('0x47')][_0x3895b2['id']]=new ZendeskAccount(_0x3895b2);}else{_0x7d2ec2[_0x07d4('0x3a')](_0x7d2ec2[_0x07d4('0x47')][_0x3895b2['id']],_0x3895b2);}}}return _0x7d2ec2[_0x07d4('0x47')];};};Realtime[_0x07d4('0x39')]['initSalesforceAccounts']=function(){var _0x2fad92=this;return function(_0x4afa3f){if(_0x4afa3f){freeIsNotKey(_0x4afa3f,_0x2fad92[_0x07d4('0x48')],'id');for(var _0x269793=0x0,_0x371f8d={},_0x42edc2={};_0x269793<_0x4afa3f[_0x07d4('0x3d')];_0x269793+=0x1){_0x371f8d=_0x4afa3f[_0x269793];if(_[_0x07d4('0x3e')](_0x2fad92[_0x07d4('0x48')][_0x371f8d['id']])){_0x2fad92['salesforceAccounts'][_0x371f8d['id']]=new SalesforceAccount(_0x371f8d);}else{_0x2fad92[_0x07d4('0x3a')](_0x2fad92[_0x07d4('0x48')][_0x371f8d['id']],_0x371f8d);}}}return _0x2fad92[_0x07d4('0x48')];};};Realtime[_0x07d4('0x39')]['initFreshdeskAccounts']=function(){var _0x557470=this;return function(_0x5e1a15){if(_0x5e1a15){freeIsNotKey(_0x5e1a15,_0x557470[_0x07d4('0x1c')],'id');for(var _0x4652ca=0x0,_0x30dfd7={},_0x34eb93={};_0x4652ca<_0x5e1a15['length'];_0x4652ca+=0x1){_0x30dfd7=_0x5e1a15[_0x4652ca];if(_[_0x07d4('0x3e')](_0x557470[_0x07d4('0x1c')][_0x30dfd7['id']])){_0x557470[_0x07d4('0x1c')][_0x30dfd7['id']]=new FreshdeskAccount(_0x30dfd7);}else{_0x557470['mergeFromDatabase'](_0x557470[_0x07d4('0x1c')][_0x30dfd7['id']],_0x30dfd7);}}}return _0x557470[_0x07d4('0x1c')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x49')]=function(){var _0xfe17f1=this;return function(_0x35f567){if(_0x35f567){freeIsNotKey(_0x35f567,_0xfe17f1[_0x07d4('0x1d')],'id');for(var _0x40c4d7=0x0,_0x29f09f={},_0xa6ab2b={};_0x40c4d7<_0x35f567[_0x07d4('0x3d')];_0x40c4d7+=0x1){_0x29f09f=_0x35f567[_0x40c4d7];if(_[_0x07d4('0x3e')](_0xfe17f1[_0x07d4('0x1d')][_0x29f09f['id']])){_0xfe17f1[_0x07d4('0x1d')][_0x29f09f['id']]=new ZohoAccount(_0x29f09f);}else{_0xfe17f1[_0x07d4('0x3a')](_0xfe17f1[_0x07d4('0x1d')][_0x29f09f['id']],_0x29f09f);}}}return _0xfe17f1[_0x07d4('0x1d')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x4a')]=function(){var _0x4c5ae0=this;return function(_0x33b16d){if(_0x33b16d){freeIsNotKey(_0x33b16d,_0x4c5ae0[_0x07d4('0x4b')],'id');for(var _0x521370=0x0,_0xeede95={},_0x4d6a2b={};_0x521370<_0x33b16d['length'];_0x521370+=0x1){_0xeede95=_0x33b16d[_0x521370];if(_[_0x07d4('0x3e')](_0x4c5ae0[_0x07d4('0x4b')][_0xeede95['id']])){_0x4c5ae0['deskAccounts'][_0xeede95['id']]=new DeskAccount(_0xeede95);}else{_0x4c5ae0['mergeFromDatabase'](_0x4c5ae0[_0x07d4('0x4b')][_0xeede95['id']],_0xeede95);}}}return _0x4c5ae0[_0x07d4('0x4b')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x4c')]=function(){var _0x2d10e5=this;return function(_0x2d3aea){if(_0x2d3aea){freeIsNotKey(_0x2d3aea,_0x2d10e5[_0x07d4('0x1b')],'id');for(var _0x3162b3=0x0,_0x42daa6={},_0x50e6ff={};_0x3162b3<_0x2d3aea[_0x07d4('0x3d')];_0x3162b3+=0x1){_0x42daa6=_0x2d3aea[_0x3162b3];if(_[_0x07d4('0x3e')](_0x2d10e5[_0x07d4('0x1b')][_0x42daa6['id']])){_0x2d10e5[_0x07d4('0x1b')][_0x42daa6['id']]=new SugarcrmAccount(_0x42daa6);}else{_0x2d10e5[_0x07d4('0x3a')](_0x2d10e5[_0x07d4('0x1b')][_0x42daa6['id']],_0x42daa6);}}}return _0x2d10e5[_0x07d4('0x1b')];};};Realtime[_0x07d4('0x39')]['initVtigerAccounts']=function(){var _0x3eeec8=this;return function(_0xcbeff9){if(_0xcbeff9){freeIsNotKey(_0xcbeff9,_0x3eeec8['vtigerAccounts'],'id');for(var _0x58318a=0x0,_0xcf8440={},_0x511af2={};_0x58318a<_0xcbeff9[_0x07d4('0x3d')];_0x58318a+=0x1){_0xcf8440=_0xcbeff9[_0x58318a];if(_[_0x07d4('0x3e')](_0x3eeec8[_0x07d4('0x4d')][_0xcf8440['id']])){_0x3eeec8[_0x07d4('0x4d')][_0xcf8440['id']]=new VtigerAccount(_0xcf8440);}else{_0x3eeec8[_0x07d4('0x3a')](_0x3eeec8[_0x07d4('0x4d')][_0xcf8440['id']],_0xcf8440);}}}return _0x3eeec8[_0x07d4('0x4d')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x4e')]=function(){var _0x14010a=this;return function(_0x260eb0){if(_0x260eb0){freeIsNotKey(_0x260eb0,_0x14010a[_0x07d4('0x1e')],'id');for(var _0xed5c3c=0x0,_0x3b21c7={},_0x16e8a7={};_0xed5c3c<_0x260eb0['length'];_0xed5c3c+=0x1){_0x3b21c7=_0x260eb0[_0xed5c3c];if(_[_0x07d4('0x3e')](_0x14010a['servicenowAccounts'][_0x3b21c7['id']])){_0x14010a[_0x07d4('0x1e')][_0x3b21c7['id']]=new ServicenowAccount(_0x3b21c7);}else{_0x14010a[_0x07d4('0x3a')](_0x14010a[_0x07d4('0x1e')][_0x3b21c7['id']],_0x3b21c7);}}}return _0x14010a[_0x07d4('0x1e')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x4f')]=function(){var _0x17d707=this;return function(_0x147e44){if(_0x147e44){freeIsNotKey(_0x147e44,_0x17d707['dynamics365Accounts'],'id');for(var _0x1fce37=0x0,_0x3a3d0e={},_0x14d564={};_0x1fce37<_0x147e44[_0x07d4('0x3d')];_0x1fce37+=0x1){_0x3a3d0e=_0x147e44[_0x1fce37];if(_['isUndefined'](_0x17d707['dynamics365Accounts'][_0x3a3d0e['id']])){_0x17d707['dynamics365Accounts'][_0x3a3d0e['id']]=new Dynamics365Account(_0x3a3d0e);}else{_0x17d707[_0x07d4('0x3a')](_0x17d707['dynamics365Accounts'][_0x3a3d0e['id']],_0x3a3d0e);}}}return _0x17d707[_0x07d4('0x1f')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x50')]=function(){var _0x3a9613=this;return function(_0x4cf83d){if(_0x4cf83d){freeIsNotKey(_0x4cf83d,_0x3a9613[_0x07d4('0x20')],'id');for(var _0x17d2ee=0x0,_0x2f76fb={},_0x4b5c4a={};_0x17d2ee<_0x4cf83d['length'];_0x17d2ee+=0x1){_0x2f76fb=_0x4cf83d[_0x17d2ee];if(_[_0x07d4('0x3e')](_0x3a9613['freshsalesAccounts'][_0x2f76fb['id']])){_0x3a9613[_0x07d4('0x20')][_0x2f76fb['id']]=new FreshsalesAccount(_0x2f76fb);}else{_0x3a9613['mergeFromDatabase'](_0x3a9613[_0x07d4('0x20')][_0x2f76fb['id']],_0x2f76fb);}}}return _0x3a9613[_0x07d4('0x20')];};};Realtime[_0x07d4('0x39')]['initVoiceQueueHopperHistory']=function(){var _0x38e25a=this;return function(_0x3a1928){for(var _0x22a110=0x0;_0x22a110<_0x3a1928[_0x07d4('0x3d')];_0x22a110+=0x1){_[_0x07d4('0x51')](_0x38e25a[_0x07d4('0x11')][_0x3a1928[_0x22a110]['name']],_0x3a1928[_0x22a110]);}return _0x38e25a[_0x07d4('0x11')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x52')]=function(){var _0x5a4001=this;return function(_0x53bc6a){clearVoiceQueues(_0x5a4001[_0x07d4('0x11')]);if(_0x53bc6a){_0x53bc6a=_[_0x07d4('0x53')](_0x53bc6a,_0x07d4('0x54'));for(var _0x989bd2 in _0x53bc6a){if(_0x53bc6a['hasOwnProperty'](_0x989bd2)){var _0xce4035={};for(var _0x2fb007=0x0;_0x2fb007<_0x53bc6a[_0x989bd2]['length'];_0x2fb007+=0x1){var _0x1efe57=_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x55')];if(_0x5a4001[_0x07d4('0x11')][_0x1efe57]){if(_0x53bc6a[_0x989bd2][_0x2fb007]['queuecallerexit']){_0x5a4001[_0x07d4('0x11')][_0x1efe57]['unmanaged']+=0x1;}if(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x56')]){_0x5a4001[_0x07d4('0x11')][_0x1efe57][_0x07d4('0x2e')]+=0x1;}_0x5a4001[_0x07d4('0x11')][_0x1efe57][_0x07d4('0x28')]+=moment(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x57')])[_0x07d4('0x58')](moment(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x59')]),_0x07d4('0x5a'))||0x0;if(_0x2fb007===_0x53bc6a[_0x989bd2]['length']-0x1){_0x5a4001['voiceQueues'][_0x1efe57][_0x07d4('0x29')]+=moment(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x5b')]||_0x53bc6a[_0x989bd2][_0x2fb007]['queuecallerabandonAt']||_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x5c')])[_0x07d4('0x58')](moment(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x59')]),'seconds')||0x0;_0x5a4001[_0x07d4('0x11')][_0x1efe57][_0x07d4('0x26')]+=0x1;if(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x5d')]){_0x5a4001[_0x07d4('0x11')][_0x1efe57][_0x07d4('0x27')]+=0x1;_0x5a4001[_0x07d4('0x11')][_0x1efe57]['sumBillable']+=moment(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x5b')])[_0x07d4('0x58')](moment(_0x53bc6a[_0x989bd2][_0x2fb007][_0x07d4('0x57')]),_0x07d4('0x5a'))||0x0;}}else{_0x5a4001[_0x07d4('0x11')][_0x1efe57]['sumDuration']+=_0x5a4001[_0x07d4('0x11')][_0x1efe57][_0x07d4('0x28')]||0x0;}}}}}}return _0x5a4001[_0x07d4('0x11')];};};Realtime[_0x07d4('0x39')]['initVoiceCallReports']=function(){var _0x176a3b=this;return function(_0x58afb2){clearVoiceCallReports(_0x176a3b[_0x07d4('0x15')]);if(_0x58afb2){for(var _0x2dda3f=0x0;_0x2dda3f<_0x58afb2[_0x07d4('0x3d')];_0x2dda3f+=0x1){_0x176a3b[_0x07d4('0x15')]['total']+=0x1;_0x176a3b[_0x07d4('0x15')][_0x07d4('0x29')]+=_0x58afb2[_0x2dda3f][_0x07d4('0x5e')];if(_0x58afb2[_0x2dda3f]['disposition']===_0x07d4('0x5f')){_0x176a3b['outbound']['answered']+=0x1;_0x176a3b[_0x07d4('0x15')][_0x07d4('0x28')]+=_0x58afb2[_0x2dda3f]['duration']-_0x58afb2[_0x2dda3f]['billableseconds']||0x0;_0x176a3b[_0x07d4('0x15')]['sumBillable']+=_0x58afb2[_0x2dda3f][_0x07d4('0x60')];}}}return _0x176a3b['outbound'];};};Realtime[_0x07d4('0x39')][_0x07d4('0x61')]=function(){var _0x888132=this;return function(_0xceddf5){if(_0xceddf5){freeIsNotKey(_0xceddf5,_0x888132[_0x07d4('0x13')],_0x07d4('0x23'));for(var _0x108577=0x0,_0x135f4c={};_0x108577<_0xceddf5['length'];_0x108577+=0x1){_0x135f4c=_0xceddf5[_0x108577];if(_[_0x07d4('0x3e')](_0x888132['campaigns'][_0x135f4c['name']])){_0x888132[_0x07d4('0x13')][_0x135f4c[_0x07d4('0x23')]]=new Campaign(_0x135f4c);}else{_0x888132[_0x07d4('0x3a')](_0x888132[_0x07d4('0x13')][_0x135f4c[_0x07d4('0x23')]],_0x135f4c);_0x888132[_0x07d4('0x13')][_0x135f4c['name']]['dialQueueProject']=_0x135f4c['SquareProject']?_0x135f4c[_0x07d4('0x62')]['name']:undefined;}}}return _0x888132['campaigns'];};};Realtime['prototype']['initVoiceExtensions']=function(){var _0x35a5c9=this;return function(_0x233c80){if(_0x233c80){freeIsNotKey(_0x233c80,_0x35a5c9[_0x07d4('0x16')],'id');for(var _0x3361b3=0x0,_0x3598cb={};_0x3361b3<_0x233c80[_0x07d4('0x3d')];_0x3361b3+=0x1){_0x3598cb=_0x233c80[_0x3361b3];if(_['isUndefined'](_0x35a5c9['voiceExtensions'][_0x3598cb['id']])){_0x35a5c9[_0x07d4('0x16')][_0x3598cb['id']]=new VoiceExtension(_0x3598cb);}else{_0x35a5c9[_0x07d4('0x3a')](_0x35a5c9[_0x07d4('0x16')][_0x3598cb['id']],_0x3598cb);}}}return _0x35a5c9['voiceExtensions'];};};Realtime[_0x07d4('0x39')]['initCampaignHopperHistory']=function(){var _0x22ae24=this;return function(_0xf45a8){clearCampaigns(_0x22ae24[_0x07d4('0x13')]);for(var _0x2c8649=0x0;_0x2c8649<_0xf45a8['length'];_0x2c8649+=0x1){_[_0x07d4('0x51')](_0x22ae24['campaigns'][_0xf45a8[_0x2c8649][_0x07d4('0x23')]],_0xf45a8[_0x2c8649]);}return _0x22ae24[_0x07d4('0x13')];};};Realtime[_0x07d4('0x39')][_0x07d4('0x63')]=function(){var _0x49d2c6=this;return function(_0x31c9a0){if(_0x31c9a0){freeIsNotKey(_0x31c9a0,_0x49d2c6[_0x07d4('0x64')],'id');for(var _0x4fc29c=0x0,_0x5373b3={},_0x214c2f={};_0x4fc29c<_0x31c9a0[_0x07d4('0x3d')];_0x4fc29c+=0x1){_0x5373b3=_0x31c9a0[_0x4fc29c];if(_[_0x07d4('0x3e')](_0x49d2c6['faxAccounts'][_0x5373b3['id']])){_0x49d2c6[_0x07d4('0x64')][_0x5373b3['id']]=new FaxAccount(_0x5373b3);}else{_0x49d2c6[_0x07d4('0x3a')](_0x49d2c6['faxAccounts'][_0x5373b3['id']],_0x5373b3);}}}return _0x49d2c6[_0x07d4('0x64')];};};module[_0x07d4('0x65')]=Realtime;