Built motion from commit 25580385.|2.6.2
[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 _0xb0f0=['sumHoldTime','sumDuration','sumBillable','ivrTotalCallsDays','ivrAnswerCallsDay','isEmpty','abandoned','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerAgiCallsDay','prototype','mergeFromDatabase','initAgents','length','interface','agents','isUndefined','trunks','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','initZohoAccounts','initDeskAccounts','sugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','queue','unmanaged','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallercomplete','initVoiceCallReports','disposition','ANSWERED','duration','billableseconds','initCampaigns','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','util','moment','../model/agent','../model/telephone','../model/trunk','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/freshsalesAccount','../model/faxAccount','telephones','voiceQueues','triggers','campaigns','templates','outbound','channels','timers','settings','zendeskAccounts','salesforceAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','servicenowAccounts','freshsalesAccounts','faxAccounts','mapKeys','SIP/%s','name','isNil','format','hasOwnProperty','total','answered'];(function(_0x1fb6f6,_0x569df9){var _0x42d788=function(_0x312745){while(--_0x312745){_0x1fb6f6['push'](_0x1fb6f6['shift']());}};_0x42d788(++_0x569df9);}(_0xb0f0,0x1e1));var _0x0b0f=function(_0x2d7f0e,_0x3e6fbd){_0x2d7f0e=_0x2d7f0e-0x0;var _0x110b07=_0xb0f0[_0x2d7f0e];return _0x110b07;};'use strict';var BPromise=require('bluebird');var util=require(_0x0b0f('0x0'));var _=require('lodash');var moment=require(_0x0b0f('0x1'));var Agent=require(_0x0b0f('0x2'));var Telephone=require(_0x0b0f('0x3'));var Trunk=require(_0x0b0f('0x4'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x0b0f('0x5'));var Template=require('../model/template');var Campaign=require(_0x0b0f('0x6'));var VoiceExtension=require(_0x0b0f('0x7'));var ZendeskAccount=require(_0x0b0f('0x8'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require(_0x0b0f('0x9'));var VtigerAccount=require(_0x0b0f('0xa'));var ServicenowAccount=require(_0x0b0f('0xb'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require(_0x0b0f('0xc'));var FaxAccount=require(_0x0b0f('0xd'));var Realtime=function(){this['agents']={};this[_0x0b0f('0xe')]={};this['trunks']={};this[_0x0b0f('0xf')]={};this[_0x0b0f('0x10')]={};this[_0x0b0f('0x11')]={};this[_0x0b0f('0x12')]={};this[_0x0b0f('0x13')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0x0b0f('0x14')]={};this['queueChannels']={};this['outboundChannels']={};this[_0x0b0f('0x15')]={};this[_0x0b0f('0x16')]={};this[_0x0b0f('0x17')]={};this[_0x0b0f('0x18')]={};this['sugarcrmAccounts']={};this[_0x0b0f('0x19')]={};this[_0x0b0f('0x1a')]={};this[_0x0b0f('0x1b')]={};this['vtigerAccounts']={};this[_0x0b0f('0x1c')]={};this['dynamics365Accounts']={};this[_0x0b0f('0x1d')]={};this[_0x0b0f('0x1e')]={};};function freeIsNotKey(_0x2aa4a7,_0x3d8d0e,_0x1e575e){var _0x3901f7=_[_0x0b0f('0x1f')](_0x2aa4a7,function(_0x341bcf,_0x3cd61){return _0x341bcf[_0x1e575e];});for(var _0x598431 in _0x3d8d0e){if(_0x3d8d0e['hasOwnProperty'](_0x598431)){if(!_0x3901f7[_0x598431]){delete _0x3d8d0e[_0x598431];}}}}function freeIsNotKeySip(_0x37fe1d,_0x528456){var _0x1e04c2=_['mapKeys'](_0x37fe1d,function(_0x1b13c2,_0x416c85){return util['format'](_0x0b0f('0x20'),_0x1b13c2[_0x0b0f('0x21')]);});for(var _0x5248e0 in _0x528456){if(_0x528456['hasOwnProperty'](_0x5248e0)){if(!_0x1e04c2[_0x5248e0]){delete _0x528456[_0x5248e0];}}}}function freeIsNotKeyAgent(_0x45f92d,_0x5c0bd9){var _0x5dadf9=_['mapKeys'](_0x45f92d,function(_0x16f801,_0x375d5a){var _0x1ac508=_[_0x0b0f('0x22')](_0x16f801['interface'])?util[_0x0b0f('0x23')]('SIP/%s',_0x16f801[_0x0b0f('0x21')]):_0x16f801['interface'];return _0x1ac508;});for(var _0x275cbe in _0x5c0bd9){if(_0x5c0bd9[_0x0b0f('0x24')](_0x275cbe)){if(!_0x5dadf9[_0x275cbe]){delete _0x5c0bd9[_0x275cbe];}}}}function clearVoiceCallReports(_0x3a5308){_0x3a5308[_0x0b0f('0x25')]=0x0;_0x3a5308[_0x0b0f('0x26')]=0x0;_0x3a5308[_0x0b0f('0x27')]=0x0;_0x3a5308[_0x0b0f('0x28')]=0x0;_0x3a5308[_0x0b0f('0x29')]=0x0;}function clearCampaigns(_0x26f10e){if(!_['isEmpty'](_0x26f10e)){for(var _0x331114 in _0x26f10e){if(_0x26f10e['hasOwnProperty'](_0x331114)){_0x26f10e[_0x331114][_0x0b0f('0x2a')]=0x0;_0x26f10e[_0x331114][_0x0b0f('0x2b')]=0x0;}}}}function clearVoiceQueues(_0x365f2b){if(!_[_0x0b0f('0x2c')](_0x365f2b)){for(var _0x595c77 in _0x365f2b){if(_0x365f2b[_0x0b0f('0x24')](_0x595c77)){_0x365f2b[_0x595c77]['total']=0x0;_0x365f2b[_0x595c77]['answered']=0x0;_0x365f2b[_0x595c77]['unmanaged']=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x2d')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x27')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x28')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x29')]=0x0;_0x365f2b[_0x595c77]['outboundAnswerAgiCallsDay']=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x2e')]=0x0;_0x365f2b[_0x595c77]['outboundBusyCallsDay']=0x0;_0x365f2b[_0x595c77]['outboundCongestionCallsDay']=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x2f')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x30')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x31')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x32')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x33')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x34')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x35')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x36')]=0x0;_0x365f2b[_0x595c77][_0x0b0f('0x37')]=0x0;_0x365f2b[_0x595c77]['outboundAnswerCallsDay']=0x0;_0x365f2b[_0x595c77]['queueStatusComplete']=!![];}}}}Realtime[_0x0b0f('0x38')][_0x0b0f('0x39')]=function(_0xd0e75e,_0x520c7e){for(var _0xc205d5 in _0x520c7e){if(_0xd0e75e[_0x0b0f('0x24')](_0xc205d5)){_0xd0e75e[_0xc205d5]=_0x520c7e[_0xc205d5];}}};Realtime[_0x0b0f('0x38')][_0x0b0f('0x3a')]=function(){var _0x584c1d=this;return function(_0x278384){if(_0x278384){freeIsNotKeyAgent(_0x278384,_0x584c1d['agents']);for(var _0x498b1d=0x0,_0x42b1dc={},_0x18e9ef={};_0x498b1d<_0x278384[_0x0b0f('0x3b')];_0x498b1d+=0x1){_0x42b1dc=_0x278384[_0x498b1d];var _0x26df95=_[_0x0b0f('0x22')](_0x42b1dc['interface'])?util[_0x0b0f('0x23')]('SIP/%s',_0x42b1dc[_0x0b0f('0x21')]):_0x42b1dc[_0x0b0f('0x3c')];if(_['isUndefined'](_0x584c1d[_0x0b0f('0x3d')][_0x26df95])){_0x584c1d[_0x0b0f('0x3d')][_0x26df95]=new Agent(_0x42b1dc);}else{_0x584c1d[_0x0b0f('0x39')](_0x584c1d['agents'][_0x26df95],_0x42b1dc);}}}return _0x584c1d[_0x0b0f('0x3d')];};};Realtime[_0x0b0f('0x38')]['initTelephones']=function(){var _0x481766=this;return function(_0x5e5c92){if(_0x5e5c92){freeIsNotKeySip(_0x5e5c92,_0x481766['telephones']);for(var _0x57740b=0x0,_0x1ed18f={},_0x557c14={};_0x57740b<_0x5e5c92[_0x0b0f('0x3b')];_0x57740b+=0x1){_0x1ed18f=_0x5e5c92[_0x57740b];if(_[_0x0b0f('0x3e')](_0x481766[_0x0b0f('0xe')][util[_0x0b0f('0x23')]('SIP/%s',_0x1ed18f['name'])])){_0x481766[_0x0b0f('0xe')][util['format'](_0x0b0f('0x20'),_0x1ed18f[_0x0b0f('0x21')])]=new Telephone(_0x1ed18f);}else{_0x481766[_0x0b0f('0x39')](_0x481766['telephones'][util[_0x0b0f('0x23')](_0x0b0f('0x20'),_0x1ed18f[_0x0b0f('0x21')])],_0x1ed18f);}}}return _0x481766['telephones'];};};Realtime[_0x0b0f('0x38')]['initTrunks']=function(){var _0x509ffb=this;return function(_0x1b86ed){if(_0x1b86ed){freeIsNotKeySip(_0x1b86ed,_0x509ffb[_0x0b0f('0x3f')]);for(var _0xde5c90=0x0,_0x4bd2e8={},_0x11d235={};_0xde5c90<_0x1b86ed[_0x0b0f('0x3b')];_0xde5c90+=0x1){_0x4bd2e8=_0x1b86ed[_0xde5c90];if(_[_0x0b0f('0x3e')](_0x509ffb[_0x0b0f('0x3f')][util[_0x0b0f('0x23')](_0x0b0f('0x20'),_0x4bd2e8[_0x0b0f('0x21')])])){_0x509ffb['trunks'][util[_0x0b0f('0x23')](_0x0b0f('0x20'),_0x4bd2e8[_0x0b0f('0x21')])]=new Trunk(_0x4bd2e8);}else{_0x509ffb[_0x0b0f('0x39')](_0x509ffb[_0x0b0f('0x3f')][util[_0x0b0f('0x23')]('SIP/%s',_0x4bd2e8[_0x0b0f('0x21')])],_0x4bd2e8);}}}return _0x509ffb[_0x0b0f('0x3f')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x40')]=function(){var _0x5a9c5f=this;return function(_0x4f131e){if(_0x4f131e){freeIsNotKey(_0x4f131e,_0x5a9c5f['voiceQueues'],_0x0b0f('0x21'));for(var _0xf7461a=0x0,_0x17974c={},_0x5d2959={};_0xf7461a<_0x4f131e[_0x0b0f('0x3b')];_0xf7461a+=0x1){_0x17974c=_0x4f131e[_0xf7461a];if(_['isUndefined'](_0x5a9c5f[_0x0b0f('0xf')][_0x17974c['name']])){_0x5a9c5f['voiceQueues'][_0x17974c[_0x0b0f('0x21')]]=new VoiceQueue(_0x17974c);}else{_0x5a9c5f[_0x0b0f('0x39')](_0x5a9c5f[_0x0b0f('0xf')][_0x17974c[_0x0b0f('0x21')]],_0x17974c);}}}return _0x5a9c5f[_0x0b0f('0xf')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x41')]=function(){var _0x49787b=this;return function(_0x22fb24){if(_0x22fb24){freeIsNotKey(_0x22fb24,_0x49787b[_0x0b0f('0x10')],'id');for(var _0x78109f=0x0,_0xf4f043={},_0x1b57b5={};_0x78109f<_0x22fb24[_0x0b0f('0x3b')];_0x78109f+=0x1){_0xf4f043=_0x22fb24[_0x78109f];if(_[_0x0b0f('0x3e')](_0x49787b['triggers'][_0xf4f043['id']])){_0x49787b[_0x0b0f('0x10')][_0xf4f043['id']]=new Trigger(_0xf4f043);}else{_0x49787b[_0x0b0f('0x39')](_0x49787b[_0x0b0f('0x10')][_0xf4f043['id']],_0xf4f043);}}}return _0x49787b[_0x0b0f('0x10')];};};Realtime['prototype'][_0x0b0f('0x42')]=function(){var _0x46e1e1=this;return function(_0x832145){if(_0x832145){freeIsNotKey(_0x832145,_0x46e1e1[_0x0b0f('0x12')],'id');for(var _0x375169=0x0,_0x3b947e={},_0xf22482={};_0x375169<_0x832145[_0x0b0f('0x3b')];_0x375169+=0x1){_0x3b947e=_0x832145[_0x375169];if(_['isUndefined'](_0x46e1e1[_0x0b0f('0x12')][_0x3b947e['id']])){_0x46e1e1['templates'][_0x3b947e['id']]=new Template(_0x3b947e);}else{_0x46e1e1[_0x0b0f('0x39')](_0x46e1e1[_0x0b0f('0x12')][_0x3b947e['id']],_0x3b947e);}}}return _0x46e1e1[_0x0b0f('0x12')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x43')]=function(){var _0x2677d6=this;return function(_0x55829f){if(_0x55829f){freeIsNotKey(_0x55829f,_0x2677d6[_0x0b0f('0x17')],'id');for(var _0x260905=0x0,_0x5a3a14={},_0x3f687d={};_0x260905<_0x55829f[_0x0b0f('0x3b')];_0x260905+=0x1){_0x5a3a14=_0x55829f[_0x260905];if(_[_0x0b0f('0x3e')](_0x2677d6[_0x0b0f('0x17')][_0x5a3a14['id']])){_0x2677d6[_0x0b0f('0x17')][_0x5a3a14['id']]=new ZendeskAccount(_0x5a3a14);}else{_0x2677d6[_0x0b0f('0x39')](_0x2677d6[_0x0b0f('0x17')][_0x5a3a14['id']],_0x5a3a14);}}}return _0x2677d6[_0x0b0f('0x17')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x44')]=function(){var _0x5d8072=this;return function(_0x15fdc6){if(_0x15fdc6){freeIsNotKey(_0x15fdc6,_0x5d8072[_0x0b0f('0x18')],'id');for(var _0x281bd2=0x0,_0x109b58={},_0x65361c={};_0x281bd2<_0x15fdc6['length'];_0x281bd2+=0x1){_0x109b58=_0x15fdc6[_0x281bd2];if(_[_0x0b0f('0x3e')](_0x5d8072[_0x0b0f('0x18')][_0x109b58['id']])){_0x5d8072[_0x0b0f('0x18')][_0x109b58['id']]=new SalesforceAccount(_0x109b58);}else{_0x5d8072['mergeFromDatabase'](_0x5d8072[_0x0b0f('0x18')][_0x109b58['id']],_0x109b58);}}}return _0x5d8072[_0x0b0f('0x18')];};};Realtime[_0x0b0f('0x38')]['initFreshdeskAccounts']=function(){var _0x49640d=this;return function(_0xac7e08){if(_0xac7e08){freeIsNotKey(_0xac7e08,_0x49640d['freshdeskAccounts'],'id');for(var _0x1d56c2=0x0,_0x4855e7={},_0x42143e={};_0x1d56c2<_0xac7e08['length'];_0x1d56c2+=0x1){_0x4855e7=_0xac7e08[_0x1d56c2];if(_[_0x0b0f('0x3e')](_0x49640d[_0x0b0f('0x19')][_0x4855e7['id']])){_0x49640d[_0x0b0f('0x19')][_0x4855e7['id']]=new FreshdeskAccount(_0x4855e7);}else{_0x49640d['mergeFromDatabase'](_0x49640d[_0x0b0f('0x19')][_0x4855e7['id']],_0x4855e7);}}}return _0x49640d[_0x0b0f('0x19')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x45')]=function(){var _0x45827a=this;return function(_0x554759){if(_0x554759){freeIsNotKey(_0x554759,_0x45827a[_0x0b0f('0x1a')],'id');for(var _0x170541=0x0,_0x889648={},_0x547098={};_0x170541<_0x554759[_0x0b0f('0x3b')];_0x170541+=0x1){_0x889648=_0x554759[_0x170541];if(_['isUndefined'](_0x45827a['zohoAccounts'][_0x889648['id']])){_0x45827a[_0x0b0f('0x1a')][_0x889648['id']]=new ZohoAccount(_0x889648);}else{_0x45827a['mergeFromDatabase'](_0x45827a[_0x0b0f('0x1a')][_0x889648['id']],_0x889648);}}}return _0x45827a['zohoAccounts'];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x46')]=function(){var _0x4f3743=this;return function(_0x554047){if(_0x554047){freeIsNotKey(_0x554047,_0x4f3743[_0x0b0f('0x1b')],'id');for(var _0x2e3274=0x0,_0xf9ae42={},_0x35cee9={};_0x2e3274<_0x554047[_0x0b0f('0x3b')];_0x2e3274+=0x1){_0xf9ae42=_0x554047[_0x2e3274];if(_[_0x0b0f('0x3e')](_0x4f3743[_0x0b0f('0x1b')][_0xf9ae42['id']])){_0x4f3743['deskAccounts'][_0xf9ae42['id']]=new DeskAccount(_0xf9ae42);}else{_0x4f3743[_0x0b0f('0x39')](_0x4f3743[_0x0b0f('0x1b')][_0xf9ae42['id']],_0xf9ae42);}}}return _0x4f3743[_0x0b0f('0x1b')];};};Realtime['prototype']['initSugarcrmAccounts']=function(){var _0x739d89=this;return function(_0x46c662){if(_0x46c662){freeIsNotKey(_0x46c662,_0x739d89['sugarcrmAccounts'],'id');for(var _0x1167ca=0x0,_0x2931b8={},_0x2552fc={};_0x1167ca<_0x46c662['length'];_0x1167ca+=0x1){_0x2931b8=_0x46c662[_0x1167ca];if(_[_0x0b0f('0x3e')](_0x739d89[_0x0b0f('0x47')][_0x2931b8['id']])){_0x739d89[_0x0b0f('0x47')][_0x2931b8['id']]=new SugarcrmAccount(_0x2931b8);}else{_0x739d89['mergeFromDatabase'](_0x739d89[_0x0b0f('0x47')][_0x2931b8['id']],_0x2931b8);}}}return _0x739d89[_0x0b0f('0x47')];};};Realtime['prototype'][_0x0b0f('0x48')]=function(){var _0x3deda8=this;return function(_0x221add){if(_0x221add){freeIsNotKey(_0x221add,_0x3deda8[_0x0b0f('0x49')],'id');for(var _0x3f06c2=0x0,_0x252e27={},_0x92b19f={};_0x3f06c2<_0x221add[_0x0b0f('0x3b')];_0x3f06c2+=0x1){_0x252e27=_0x221add[_0x3f06c2];if(_[_0x0b0f('0x3e')](_0x3deda8['vtigerAccounts'][_0x252e27['id']])){_0x3deda8['vtigerAccounts'][_0x252e27['id']]=new VtigerAccount(_0x252e27);}else{_0x3deda8[_0x0b0f('0x39')](_0x3deda8[_0x0b0f('0x49')][_0x252e27['id']],_0x252e27);}}}return _0x3deda8['vtigerAccounts'];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x4a')]=function(){var _0x2eb34b=this;return function(_0x341f03){if(_0x341f03){freeIsNotKey(_0x341f03,_0x2eb34b['servicenowAccounts'],'id');for(var _0x554c07=0x0,_0x1eae76={},_0x2a8941={};_0x554c07<_0x341f03['length'];_0x554c07+=0x1){_0x1eae76=_0x341f03[_0x554c07];if(_[_0x0b0f('0x3e')](_0x2eb34b[_0x0b0f('0x1c')][_0x1eae76['id']])){_0x2eb34b[_0x0b0f('0x1c')][_0x1eae76['id']]=new ServicenowAccount(_0x1eae76);}else{_0x2eb34b[_0x0b0f('0x39')](_0x2eb34b[_0x0b0f('0x1c')][_0x1eae76['id']],_0x1eae76);}}}return _0x2eb34b[_0x0b0f('0x1c')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x4b')]=function(){var _0x4948e7=this;return function(_0x146e9a){if(_0x146e9a){freeIsNotKey(_0x146e9a,_0x4948e7['dynamics365Accounts'],'id');for(var _0x3be915=0x0,_0x58f549={},_0x6b43db={};_0x3be915<_0x146e9a[_0x0b0f('0x3b')];_0x3be915+=0x1){_0x58f549=_0x146e9a[_0x3be915];if(_[_0x0b0f('0x3e')](_0x4948e7[_0x0b0f('0x4c')][_0x58f549['id']])){_0x4948e7[_0x0b0f('0x4c')][_0x58f549['id']]=new Dynamics365Account(_0x58f549);}else{_0x4948e7[_0x0b0f('0x39')](_0x4948e7[_0x0b0f('0x4c')][_0x58f549['id']],_0x58f549);}}}return _0x4948e7[_0x0b0f('0x4c')];};};Realtime[_0x0b0f('0x38')]['initFreshsalesAccounts']=function(){var _0x8e8ef1=this;return function(_0x50c396){if(_0x50c396){freeIsNotKey(_0x50c396,_0x8e8ef1[_0x0b0f('0x1d')],'id');for(var _0x5770cc=0x0,_0x4876f1={},_0x505e5c={};_0x5770cc<_0x50c396[_0x0b0f('0x3b')];_0x5770cc+=0x1){_0x4876f1=_0x50c396[_0x5770cc];if(_[_0x0b0f('0x3e')](_0x8e8ef1[_0x0b0f('0x1d')][_0x4876f1['id']])){_0x8e8ef1['freshsalesAccounts'][_0x4876f1['id']]=new FreshsalesAccount(_0x4876f1);}else{_0x8e8ef1[_0x0b0f('0x39')](_0x8e8ef1[_0x0b0f('0x1d')][_0x4876f1['id']],_0x4876f1);}}}return _0x8e8ef1[_0x0b0f('0x1d')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x4d')]=function(){var _0x57a3bf=this;return function(_0x5d41e7){for(var _0x182c23=0x0;_0x182c23<_0x5d41e7[_0x0b0f('0x3b')];_0x182c23+=0x1){_[_0x0b0f('0x4e')](_0x57a3bf['voiceQueues'][_0x5d41e7[_0x182c23][_0x0b0f('0x21')]],_0x5d41e7[_0x182c23]);}return _0x57a3bf[_0x0b0f('0xf')];};};Realtime['prototype'][_0x0b0f('0x4f')]=function(){var _0x471845=this;return function(_0x5d2f09){clearVoiceQueues(_0x471845[_0x0b0f('0xf')]);if(_0x5d2f09){_0x5d2f09=_[_0x0b0f('0x50')](_0x5d2f09,'uniqueid');for(var _0x305e8d in _0x5d2f09){if(_0x5d2f09['hasOwnProperty'](_0x305e8d)){var _0x4f16dd={};for(var _0x3ce3e2=0x0;_0x3ce3e2<_0x5d2f09[_0x305e8d][_0x0b0f('0x3b')];_0x3ce3e2+=0x1){var _0x2e0626=_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x51')];if(_0x471845[_0x0b0f('0xf')][_0x2e0626]){if(_0x5d2f09[_0x305e8d][_0x3ce3e2]['queuecallerexit']){_0x471845[_0x0b0f('0xf')][_0x2e0626][_0x0b0f('0x52')]+=0x1;}if(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x53')]){_0x471845['voiceQueues'][_0x2e0626][_0x0b0f('0x2d')]+=0x1;}_0x471845[_0x0b0f('0xf')][_0x2e0626][_0x0b0f('0x27')]+=moment(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x54')])[_0x0b0f('0x55')](moment(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x56')]),_0x0b0f('0x57'))||0x0;if(_0x3ce3e2===_0x5d2f09[_0x305e8d][_0x0b0f('0x3b')]-0x1){_0x471845[_0x0b0f('0xf')][_0x2e0626][_0x0b0f('0x28')]+=moment(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x58')]||_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x59')]||_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x5a')])[_0x0b0f('0x55')](moment(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x56')]),_0x0b0f('0x57'))||0x0;_0x471845[_0x0b0f('0xf')][_0x2e0626][_0x0b0f('0x25')]+=0x1;if(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x5b')]){_0x471845[_0x0b0f('0xf')][_0x2e0626]['answered']+=0x1;_0x471845[_0x0b0f('0xf')][_0x2e0626][_0x0b0f('0x29')]+=moment(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x58')])[_0x0b0f('0x55')](moment(_0x5d2f09[_0x305e8d][_0x3ce3e2][_0x0b0f('0x54')]),'seconds')||0x0;}}else{_0x471845[_0x0b0f('0xf')][_0x2e0626][_0x0b0f('0x28')]+=_0x471845[_0x0b0f('0xf')][_0x2e0626][_0x0b0f('0x27')]||0x0;}}}}}}return _0x471845[_0x0b0f('0xf')];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x5c')]=function(){var _0x41e801=this;return function(_0x4cffe9){clearVoiceCallReports(_0x41e801['outbound']);if(_0x4cffe9){for(var _0xa461ea=0x0;_0xa461ea<_0x4cffe9[_0x0b0f('0x3b')];_0xa461ea+=0x1){_0x41e801[_0x0b0f('0x13')][_0x0b0f('0x25')]+=0x1;_0x41e801[_0x0b0f('0x13')]['sumDuration']+=_0x4cffe9[_0xa461ea]['duration'];if(_0x4cffe9[_0xa461ea][_0x0b0f('0x5d')]===_0x0b0f('0x5e')){_0x41e801[_0x0b0f('0x13')]['answered']+=0x1;_0x41e801[_0x0b0f('0x13')]['sumHoldTime']+=_0x4cffe9[_0xa461ea][_0x0b0f('0x5f')]-_0x4cffe9[_0xa461ea][_0x0b0f('0x60')]||0x0;_0x41e801[_0x0b0f('0x13')][_0x0b0f('0x29')]+=_0x4cffe9[_0xa461ea][_0x0b0f('0x60')];}}}return _0x41e801['outbound'];};};Realtime['prototype'][_0x0b0f('0x61')]=function(){var _0x3dfc44=this;return function(_0x5f5ac2){if(_0x5f5ac2){freeIsNotKey(_0x5f5ac2,_0x3dfc44[_0x0b0f('0x11')],_0x0b0f('0x21'));for(var _0x4a9a6c=0x0,_0x576883={};_0x4a9a6c<_0x5f5ac2[_0x0b0f('0x3b')];_0x4a9a6c+=0x1){_0x576883=_0x5f5ac2[_0x4a9a6c];if(_['isUndefined'](_0x3dfc44[_0x0b0f('0x11')][_0x576883[_0x0b0f('0x21')]])){_0x3dfc44[_0x0b0f('0x11')][_0x576883['name']]=new Campaign(_0x576883);}else{_0x3dfc44[_0x0b0f('0x39')](_0x3dfc44['campaigns'][_0x576883['name']],_0x576883);_0x3dfc44[_0x0b0f('0x11')][_0x576883[_0x0b0f('0x21')]]['dialQueueProject']=_0x576883[_0x0b0f('0x62')]?_0x576883['SquareProject']['name']:undefined;}}}return _0x3dfc44['campaigns'];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x63')]=function(){var _0x51656d=this;return function(_0x9b876d){if(_0x9b876d){freeIsNotKey(_0x9b876d,_0x51656d['voiceExtensions'],'id');for(var _0x2ad27f=0x0,_0x44817b={};_0x2ad27f<_0x9b876d['length'];_0x2ad27f+=0x1){_0x44817b=_0x9b876d[_0x2ad27f];if(_['isUndefined'](_0x51656d[_0x0b0f('0x64')][_0x44817b['id']])){_0x51656d['voiceExtensions'][_0x44817b['id']]=new VoiceExtension(_0x44817b);}else{_0x51656d[_0x0b0f('0x39')](_0x51656d[_0x0b0f('0x64')][_0x44817b['id']],_0x44817b);}}}return _0x51656d['voiceExtensions'];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x65')]=function(){var _0x41bd02=this;return function(_0x5ec613){clearCampaigns(_0x41bd02[_0x0b0f('0x11')]);for(var _0x5a74dc=0x0;_0x5a74dc<_0x5ec613[_0x0b0f('0x3b')];_0x5a74dc+=0x1){_['merge'](_0x41bd02[_0x0b0f('0x11')][_0x5ec613[_0x5a74dc][_0x0b0f('0x21')]],_0x5ec613[_0x5a74dc]);}return _0x41bd02['campaigns'];};};Realtime[_0x0b0f('0x38')][_0x0b0f('0x66')]=function(){var _0x1290cb=this;return function(_0x3a39cd){if(_0x3a39cd){freeIsNotKey(_0x3a39cd,_0x1290cb[_0x0b0f('0x1e')],'id');for(var _0x1cd4fc=0x0,_0x30013f={},_0xc68706={};_0x1cd4fc<_0x3a39cd['length'];_0x1cd4fc+=0x1){_0x30013f=_0x3a39cd[_0x1cd4fc];if(_[_0x0b0f('0x3e')](_0x1290cb[_0x0b0f('0x1e')][_0x30013f['id']])){_0x1290cb['faxAccounts'][_0x30013f['id']]=new FaxAccount(_0x30013f);}else{_0x1290cb['mergeFromDatabase'](_0x1290cb[_0x0b0f('0x1e')][_0x30013f['id']],_0x30013f);}}}return _0x1290cb[_0x0b0f('0x1e')];};};module[_0x0b0f('0x67')]=Realtime;