Built motion from commit (unavailable).|2.5.11
[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 _0x7ef8=['sugarcrmAccounts','freshdeskAccounts','zohoAccounts','servicenowAccounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','name','interface','format','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isNil','isUndefined','initTrunks','initVoiceQueues','initTemplates','initZendeskAccounts','initSalesforceAccounts','salesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','deskAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','initVoiceQueueReports','uniqueid','queue','queuecallerexit','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','seconds','queuecallercomplete','initVoiceCallReports','outbound','duration','disposition','ANSWERED','billableseconds','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','merge','util','lodash','moment','../model/agent','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','voiceExtensions','channels','queueChannels','outboundChannels','timers','zendeskAccounts'];(function(_0x5d2803,_0xf375bd){var _0xdcad2c=function(_0x3c3a98){while(--_0x3c3a98){_0x5d2803['push'](_0x5d2803['shift']());}};_0xdcad2c(++_0xf375bd);}(_0x7ef8,0xb9));var _0x87ef=function(_0x386132,_0x5646dd){_0x386132=_0x386132-0x0;var _0x3ba4da=_0x7ef8[_0x386132];return _0x3ba4da;};'use strict';var BPromise=require('bluebird');var util=require(_0x87ef('0x0'));var _=require(_0x87ef('0x1'));var moment=require(_0x87ef('0x2'));var Agent=require(_0x87ef('0x3'));var Telephone=require('../model/telephone');var Trunk=require(_0x87ef('0x4'));var VoiceQueue=require(_0x87ef('0x5'));var Trigger=require(_0x87ef('0x6'));var Template=require(_0x87ef('0x7'));var Campaign=require(_0x87ef('0x8'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0x87ef('0x9'));var SalesforceAccount=require(_0x87ef('0xa'));var FreshdeskAccount=require(_0x87ef('0xb'));var SugarcrmAccount=require(_0x87ef('0xc'));var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require('../model/deskAccount');var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x87ef('0xd'));var Dynamics365Account=require(_0x87ef('0xe'));var FreshsalesAccount=require(_0x87ef('0xf'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0x87ef('0x10')]={};this[_0x87ef('0x11')]={};this[_0x87ef('0x12')]={};this[_0x87ef('0x13')]={};this[_0x87ef('0x14')]={};this[_0x87ef('0x15')]={};this[_0x87ef('0x16')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x87ef('0x17')]={};this[_0x87ef('0x18')]={};this[_0x87ef('0x19')]={};this[_0x87ef('0x1a')]={};this[_0x87ef('0x1b')]={};this[_0x87ef('0x1c')]={};this['salesforceAccounts']={};this[_0x87ef('0x1d')]={};this[_0x87ef('0x1e')]={};this[_0x87ef('0x1f')]={};this['deskAccounts']={};this['vtigerAccounts']={};this[_0x87ef('0x20')]={};this['dynamics365Accounts']={};this[_0x87ef('0x21')]={};this[_0x87ef('0x22')]={};};function freeIsNotKey(_0x290480,_0x495b85,_0x18a745){var _0x4b527a=_[_0x87ef('0x23')](_0x290480,function(_0xded096,_0x5a2847){return _0xded096[_0x18a745];});for(var _0x4cb977 in _0x495b85){if(_0x495b85[_0x87ef('0x24')](_0x4cb977)){if(!_0x4b527a[_0x4cb977]){delete _0x495b85[_0x4cb977];}}}}function freeIsNotKeySip(_0x5685a8,_0x565abe){var _0x55a017=_[_0x87ef('0x23')](_0x5685a8,function(_0x297ef6,_0x3b3416){return util['format'](_0x87ef('0x25'),_0x297ef6[_0x87ef('0x26')]);});for(var _0x5cea32 in _0x565abe){if(_0x565abe[_0x87ef('0x24')](_0x5cea32)){if(!_0x55a017[_0x5cea32]){delete _0x565abe[_0x5cea32];}}}}function freeIsNotKeyAgent(_0x5af595,_0xe7d92c){var _0x343fda=_[_0x87ef('0x23')](_0x5af595,function(_0x10eaff,_0x5c9f3c){var _0xc78b6b=_['isNil'](_0x10eaff[_0x87ef('0x27')])?util[_0x87ef('0x28')](_0x87ef('0x25'),_0x10eaff[_0x87ef('0x26')]):_0x10eaff[_0x87ef('0x27')];return _0xc78b6b;});for(var _0x500d05 in _0xe7d92c){if(_0xe7d92c[_0x87ef('0x24')](_0x500d05)){if(!_0x343fda[_0x500d05]){delete _0xe7d92c[_0x500d05];}}}}function clearVoiceCallReports(_0xa9caaa){_0xa9caaa[_0x87ef('0x29')]=0x0;_0xa9caaa[_0x87ef('0x2a')]=0x0;_0xa9caaa[_0x87ef('0x2b')]=0x0;_0xa9caaa[_0x87ef('0x2c')]=0x0;_0xa9caaa[_0x87ef('0x2d')]=0x0;}function clearCampaigns(_0x58cc2e){if(!_[_0x87ef('0x2e')](_0x58cc2e)){for(var _0xc0150a in _0x58cc2e){if(_0x58cc2e[_0x87ef('0x24')](_0xc0150a)){_0x58cc2e[_0xc0150a]['ivrTotalCallsDays']=0x0;_0x58cc2e[_0xc0150a]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x2042da){if(!_[_0x87ef('0x2e')](_0x2042da)){for(var _0x47f5e3 in _0x2042da){if(_0x2042da[_0x87ef('0x24')](_0x47f5e3)){_0x2042da[_0x47f5e3][_0x87ef('0x29')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x2a')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x2f')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x30')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x2b')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x2c')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x2d')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x31')]=0x0;_0x2042da[_0x47f5e3]['outboundNoAnswerCallsDay']=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x32')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x33')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x34')]=0x0;_0x2042da[_0x47f5e3]['outboundUnknownCallsDay']=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x35')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x36')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x37')]=0x0;_0x2042da[_0x47f5e3]['outboundOriginateFailureCallsDay']=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x38')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x39')]=0x0;_0x2042da[_0x47f5e3]['outboundAnswerAgiCallsDay']=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x3a')]=0x0;_0x2042da[_0x47f5e3][_0x87ef('0x3b')]=!![];}}}}Realtime[_0x87ef('0x3c')][_0x87ef('0x3d')]=function(_0x18c852,_0x1275e2){for(var _0x55dcdb in _0x1275e2){if(_0x18c852['hasOwnProperty'](_0x55dcdb)){_0x18c852[_0x55dcdb]=_0x1275e2[_0x55dcdb];}}};Realtime['prototype'][_0x87ef('0x3e')]=function(){var _0x557b45=this;return function(_0x4cc690){if(_0x4cc690){freeIsNotKeyAgent(_0x4cc690,_0x557b45[_0x87ef('0x10')]);for(var _0x201455=0x0,_0x4902c3={},_0x1fae57={};_0x201455<_0x4cc690[_0x87ef('0x3f')];_0x201455+=0x1){_0x4902c3=_0x4cc690[_0x201455];var _0x4bead2=_[_0x87ef('0x40')](_0x4902c3[_0x87ef('0x27')])?util[_0x87ef('0x28')](_0x87ef('0x25'),_0x4902c3[_0x87ef('0x26')]):_0x4902c3[_0x87ef('0x27')];if(_[_0x87ef('0x41')](_0x557b45[_0x87ef('0x10')][_0x4bead2])){_0x557b45['agents'][_0x4bead2]=new Agent(_0x4902c3);}else{_0x557b45[_0x87ef('0x3d')](_0x557b45['agents'][_0x4bead2],_0x4902c3);}}}return _0x557b45[_0x87ef('0x10')];};};Realtime[_0x87ef('0x3c')]['initTelephones']=function(){var _0x1c2b58=this;return function(_0xbe0bcd){if(_0xbe0bcd){freeIsNotKeySip(_0xbe0bcd,_0x1c2b58['telephones']);for(var _0x31d6a7=0x0,_0x11cf90={},_0x2cdd51={};_0x31d6a7<_0xbe0bcd['length'];_0x31d6a7+=0x1){_0x11cf90=_0xbe0bcd[_0x31d6a7];if(_[_0x87ef('0x41')](_0x1c2b58[_0x87ef('0x11')][util[_0x87ef('0x28')](_0x87ef('0x25'),_0x11cf90['name'])])){_0x1c2b58[_0x87ef('0x11')][util[_0x87ef('0x28')](_0x87ef('0x25'),_0x11cf90[_0x87ef('0x26')])]=new Telephone(_0x11cf90);}else{_0x1c2b58[_0x87ef('0x3d')](_0x1c2b58[_0x87ef('0x11')][util[_0x87ef('0x28')]('SIP/%s',_0x11cf90['name'])],_0x11cf90);}}}return _0x1c2b58['telephones'];};};Realtime['prototype'][_0x87ef('0x42')]=function(){var _0x36d5f2=this;return function(_0xa2a06d){if(_0xa2a06d){freeIsNotKeySip(_0xa2a06d,_0x36d5f2[_0x87ef('0x12')]);for(var _0x44c401=0x0,_0x27aa9d={},_0x5d610f={};_0x44c401<_0xa2a06d[_0x87ef('0x3f')];_0x44c401+=0x1){_0x27aa9d=_0xa2a06d[_0x44c401];if(_[_0x87ef('0x41')](_0x36d5f2['trunks'][util[_0x87ef('0x28')](_0x87ef('0x25'),_0x27aa9d['name'])])){_0x36d5f2['trunks'][util['format'](_0x87ef('0x25'),_0x27aa9d['name'])]=new Trunk(_0x27aa9d);}else{_0x36d5f2['mergeFromDatabase'](_0x36d5f2[_0x87ef('0x12')][util['format'](_0x87ef('0x25'),_0x27aa9d[_0x87ef('0x26')])],_0x27aa9d);}}}return _0x36d5f2['trunks'];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x43')]=function(){var _0x7c40c0=this;return function(_0x1b0843){if(_0x1b0843){freeIsNotKey(_0x1b0843,_0x7c40c0[_0x87ef('0x13')],_0x87ef('0x26'));for(var _0x4338a7=0x0,_0x4e72e1={},_0x319862={};_0x4338a7<_0x1b0843[_0x87ef('0x3f')];_0x4338a7+=0x1){_0x4e72e1=_0x1b0843[_0x4338a7];if(_['isUndefined'](_0x7c40c0[_0x87ef('0x13')][_0x4e72e1[_0x87ef('0x26')]])){_0x7c40c0[_0x87ef('0x13')][_0x4e72e1[_0x87ef('0x26')]]=new VoiceQueue(_0x4e72e1);}else{_0x7c40c0[_0x87ef('0x3d')](_0x7c40c0[_0x87ef('0x13')][_0x4e72e1['name']],_0x4e72e1);}}}return _0x7c40c0[_0x87ef('0x13')];};};Realtime[_0x87ef('0x3c')]['initTriggers']=function(){var _0x160949=this;return function(_0x33e52a){if(_0x33e52a){freeIsNotKey(_0x33e52a,_0x160949['triggers'],'id');for(var _0x1b908a=0x0,_0x5b35b6={},_0x4ad22f={};_0x1b908a<_0x33e52a[_0x87ef('0x3f')];_0x1b908a+=0x1){_0x5b35b6=_0x33e52a[_0x1b908a];if(_[_0x87ef('0x41')](_0x160949[_0x87ef('0x14')][_0x5b35b6['id']])){_0x160949[_0x87ef('0x14')][_0x5b35b6['id']]=new Trigger(_0x5b35b6);}else{_0x160949[_0x87ef('0x3d')](_0x160949[_0x87ef('0x14')][_0x5b35b6['id']],_0x5b35b6);}}}return _0x160949['triggers'];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x44')]=function(){var _0x3e466f=this;return function(_0x1c8373){if(_0x1c8373){freeIsNotKey(_0x1c8373,_0x3e466f[_0x87ef('0x16')],'id');for(var _0xe49ae9=0x0,_0x322e12={},_0x12daa1={};_0xe49ae9<_0x1c8373[_0x87ef('0x3f')];_0xe49ae9+=0x1){_0x322e12=_0x1c8373[_0xe49ae9];if(_['isUndefined'](_0x3e466f[_0x87ef('0x16')][_0x322e12['id']])){_0x3e466f['templates'][_0x322e12['id']]=new Template(_0x322e12);}else{_0x3e466f['mergeFromDatabase'](_0x3e466f[_0x87ef('0x16')][_0x322e12['id']],_0x322e12);}}}return _0x3e466f['templates'];};};Realtime['prototype'][_0x87ef('0x45')]=function(){var _0x24c296=this;return function(_0x1363bd){if(_0x1363bd){freeIsNotKey(_0x1363bd,_0x24c296[_0x87ef('0x1c')],'id');for(var _0x1b108b=0x0,_0x59b665={},_0x16fb64={};_0x1b108b<_0x1363bd[_0x87ef('0x3f')];_0x1b108b+=0x1){_0x59b665=_0x1363bd[_0x1b108b];if(_['isUndefined'](_0x24c296[_0x87ef('0x1c')][_0x59b665['id']])){_0x24c296[_0x87ef('0x1c')][_0x59b665['id']]=new ZendeskAccount(_0x59b665);}else{_0x24c296[_0x87ef('0x3d')](_0x24c296[_0x87ef('0x1c')][_0x59b665['id']],_0x59b665);}}}return _0x24c296['zendeskAccounts'];};};Realtime['prototype'][_0x87ef('0x46')]=function(){var _0x2e2844=this;return function(_0x4fbacf){if(_0x4fbacf){freeIsNotKey(_0x4fbacf,_0x2e2844[_0x87ef('0x47')],'id');for(var _0x44eab0=0x0,_0x1f0994={},_0x47a302={};_0x44eab0<_0x4fbacf['length'];_0x44eab0+=0x1){_0x1f0994=_0x4fbacf[_0x44eab0];if(_[_0x87ef('0x41')](_0x2e2844[_0x87ef('0x47')][_0x1f0994['id']])){_0x2e2844[_0x87ef('0x47')][_0x1f0994['id']]=new SalesforceAccount(_0x1f0994);}else{_0x2e2844[_0x87ef('0x3d')](_0x2e2844[_0x87ef('0x47')][_0x1f0994['id']],_0x1f0994);}}}return _0x2e2844[_0x87ef('0x47')];};};Realtime['prototype'][_0x87ef('0x48')]=function(){var _0x520f50=this;return function(_0x37862b){if(_0x37862b){freeIsNotKey(_0x37862b,_0x520f50[_0x87ef('0x1e')],'id');for(var _0x1f9b29=0x0,_0x3c8705={},_0x43dbda={};_0x1f9b29<_0x37862b['length'];_0x1f9b29+=0x1){_0x3c8705=_0x37862b[_0x1f9b29];if(_[_0x87ef('0x41')](_0x520f50[_0x87ef('0x1e')][_0x3c8705['id']])){_0x520f50['freshdeskAccounts'][_0x3c8705['id']]=new FreshdeskAccount(_0x3c8705);}else{_0x520f50[_0x87ef('0x3d')](_0x520f50[_0x87ef('0x1e')][_0x3c8705['id']],_0x3c8705);}}}return _0x520f50['freshdeskAccounts'];};};Realtime['prototype'][_0x87ef('0x49')]=function(){var _0x40df29=this;return function(_0x26cf2a){if(_0x26cf2a){freeIsNotKey(_0x26cf2a,_0x40df29[_0x87ef('0x1f')],'id');for(var _0x4c8472=0x0,_0x261b3d={},_0x2a2c96={};_0x4c8472<_0x26cf2a[_0x87ef('0x3f')];_0x4c8472+=0x1){_0x261b3d=_0x26cf2a[_0x4c8472];if(_[_0x87ef('0x41')](_0x40df29[_0x87ef('0x1f')][_0x261b3d['id']])){_0x40df29[_0x87ef('0x1f')][_0x261b3d['id']]=new ZohoAccount(_0x261b3d);}else{_0x40df29[_0x87ef('0x3d')](_0x40df29['zohoAccounts'][_0x261b3d['id']],_0x261b3d);}}}return _0x40df29['zohoAccounts'];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x4a')]=function(){var _0x1ed646=this;return function(_0xa7ae98){if(_0xa7ae98){freeIsNotKey(_0xa7ae98,_0x1ed646['deskAccounts'],'id');for(var _0x7126c8=0x0,_0x123a6e={},_0x54f612={};_0x7126c8<_0xa7ae98[_0x87ef('0x3f')];_0x7126c8+=0x1){_0x123a6e=_0xa7ae98[_0x7126c8];if(_[_0x87ef('0x41')](_0x1ed646['deskAccounts'][_0x123a6e['id']])){_0x1ed646['deskAccounts'][_0x123a6e['id']]=new DeskAccount(_0x123a6e);}else{_0x1ed646[_0x87ef('0x3d')](_0x1ed646[_0x87ef('0x4b')][_0x123a6e['id']],_0x123a6e);}}}return _0x1ed646[_0x87ef('0x4b')];};};Realtime['prototype'][_0x87ef('0x4c')]=function(){var _0x480e37=this;return function(_0x390c50){if(_0x390c50){freeIsNotKey(_0x390c50,_0x480e37[_0x87ef('0x1d')],'id');for(var _0x448c17=0x0,_0x5a1e0d={},_0x2f4a99={};_0x448c17<_0x390c50['length'];_0x448c17+=0x1){_0x5a1e0d=_0x390c50[_0x448c17];if(_[_0x87ef('0x41')](_0x480e37['sugarcrmAccounts'][_0x5a1e0d['id']])){_0x480e37[_0x87ef('0x1d')][_0x5a1e0d['id']]=new SugarcrmAccount(_0x5a1e0d);}else{_0x480e37[_0x87ef('0x3d')](_0x480e37[_0x87ef('0x1d')][_0x5a1e0d['id']],_0x5a1e0d);}}}return _0x480e37[_0x87ef('0x1d')];};};Realtime['prototype'][_0x87ef('0x4d')]=function(){var _0x4618f5=this;return function(_0x5132a2){if(_0x5132a2){freeIsNotKey(_0x5132a2,_0x4618f5[_0x87ef('0x4e')],'id');for(var _0x121f59=0x0,_0x300b6b={},_0x3c4f28={};_0x121f59<_0x5132a2['length'];_0x121f59+=0x1){_0x300b6b=_0x5132a2[_0x121f59];if(_[_0x87ef('0x41')](_0x4618f5[_0x87ef('0x4e')][_0x300b6b['id']])){_0x4618f5[_0x87ef('0x4e')][_0x300b6b['id']]=new VtigerAccount(_0x300b6b);}else{_0x4618f5[_0x87ef('0x3d')](_0x4618f5[_0x87ef('0x4e')][_0x300b6b['id']],_0x300b6b);}}}return _0x4618f5['vtigerAccounts'];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x4f')]=function(){var _0x189b3d=this;return function(_0x272f1b){if(_0x272f1b){freeIsNotKey(_0x272f1b,_0x189b3d['servicenowAccounts'],'id');for(var _0x16d066=0x0,_0x3e3149={},_0x262304={};_0x16d066<_0x272f1b['length'];_0x16d066+=0x1){_0x3e3149=_0x272f1b[_0x16d066];if(_['isUndefined'](_0x189b3d[_0x87ef('0x20')][_0x3e3149['id']])){_0x189b3d[_0x87ef('0x20')][_0x3e3149['id']]=new ServicenowAccount(_0x3e3149);}else{_0x189b3d[_0x87ef('0x3d')](_0x189b3d[_0x87ef('0x20')][_0x3e3149['id']],_0x3e3149);}}}return _0x189b3d[_0x87ef('0x20')];};};Realtime[_0x87ef('0x3c')]['initDynamics365Accounts']=function(){var _0x47df5f=this;return function(_0x5c1f62){if(_0x5c1f62){freeIsNotKey(_0x5c1f62,_0x47df5f['dynamics365Accounts'],'id');for(var _0x374e8c=0x0,_0x121c72={},_0xa678f1={};_0x374e8c<_0x5c1f62[_0x87ef('0x3f')];_0x374e8c+=0x1){_0x121c72=_0x5c1f62[_0x374e8c];if(_[_0x87ef('0x41')](_0x47df5f[_0x87ef('0x50')][_0x121c72['id']])){_0x47df5f[_0x87ef('0x50')][_0x121c72['id']]=new Dynamics365Account(_0x121c72);}else{_0x47df5f[_0x87ef('0x3d')](_0x47df5f[_0x87ef('0x50')][_0x121c72['id']],_0x121c72);}}}return _0x47df5f[_0x87ef('0x50')];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x51')]=function(){var _0x1ab1af=this;return function(_0x313d28){if(_0x313d28){freeIsNotKey(_0x313d28,_0x1ab1af[_0x87ef('0x21')],'id');for(var _0x652a08=0x0,_0x45796a={},_0x2b9a16={};_0x652a08<_0x313d28['length'];_0x652a08+=0x1){_0x45796a=_0x313d28[_0x652a08];if(_[_0x87ef('0x41')](_0x1ab1af['freshsalesAccounts'][_0x45796a['id']])){_0x1ab1af[_0x87ef('0x21')][_0x45796a['id']]=new FreshsalesAccount(_0x45796a);}else{_0x1ab1af[_0x87ef('0x3d')](_0x1ab1af[_0x87ef('0x21')][_0x45796a['id']],_0x45796a);}}}return _0x1ab1af[_0x87ef('0x21')];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x52')]=function(){var _0x11218e=this;return function(_0x22c29f){for(var _0x5de566=0x0;_0x5de566<_0x22c29f[_0x87ef('0x3f')];_0x5de566+=0x1){_['merge'](_0x11218e[_0x87ef('0x13')][_0x22c29f[_0x5de566]['name']],_0x22c29f[_0x5de566]);}return _0x11218e[_0x87ef('0x13')];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x53')]=function(){var _0x2dba81=this;return function(_0xd3724b){clearVoiceQueues(_0x2dba81['voiceQueues']);if(_0xd3724b){_0xd3724b=_['groupBy'](_0xd3724b,_0x87ef('0x54'));for(var _0x22cb57 in _0xd3724b){if(_0xd3724b['hasOwnProperty'](_0x22cb57)){var _0x4116c4={};for(var _0x7284cd=0x0;_0x7284cd<_0xd3724b[_0x22cb57][_0x87ef('0x3f')];_0x7284cd+=0x1){var _0x46731b=_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x55')];if(_0x2dba81[_0x87ef('0x13')][_0x46731b]){if(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x56')]){_0x2dba81['voiceQueues'][_0x46731b][_0x87ef('0x2f')]+=0x1;}if(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x57')]){_0x2dba81['voiceQueues'][_0x46731b][_0x87ef('0x30')]+=0x1;}_0x2dba81[_0x87ef('0x13')][_0x46731b][_0x87ef('0x2b')]+=moment(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x58')])[_0x87ef('0x59')](moment(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x5a')]),'seconds')||0x0;if(_0x7284cd===_0xd3724b[_0x22cb57]['length']-0x1){_0x2dba81[_0x87ef('0x13')][_0x46731b][_0x87ef('0x2c')]+=moment(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x5b')]||_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x5c')]||_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x5d')])['diff'](moment(_0xd3724b[_0x22cb57][_0x7284cd]['queuecallerjoinAt']),_0x87ef('0x5e'))||0x0;_0x2dba81[_0x87ef('0x13')][_0x46731b][_0x87ef('0x29')]+=0x1;if(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x5f')]){_0x2dba81[_0x87ef('0x13')][_0x46731b][_0x87ef('0x2a')]+=0x1;_0x2dba81[_0x87ef('0x13')][_0x46731b][_0x87ef('0x2d')]+=moment(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x5b')])[_0x87ef('0x59')](moment(_0xd3724b[_0x22cb57][_0x7284cd][_0x87ef('0x58')]),'seconds')||0x0;}}else{_0x2dba81['voiceQueues'][_0x46731b][_0x87ef('0x2c')]+=_0x2dba81[_0x87ef('0x13')][_0x46731b][_0x87ef('0x2b')]||0x0;}}}}}}return _0x2dba81[_0x87ef('0x13')];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x60')]=function(){var _0x89bb13=this;return function(_0x2aa9c4){clearVoiceCallReports(_0x89bb13[_0x87ef('0x61')]);if(_0x2aa9c4){for(var _0x15f05b=0x0;_0x15f05b<_0x2aa9c4['length'];_0x15f05b+=0x1){_0x89bb13[_0x87ef('0x61')][_0x87ef('0x29')]+=0x1;_0x89bb13[_0x87ef('0x61')][_0x87ef('0x2c')]+=_0x2aa9c4[_0x15f05b][_0x87ef('0x62')];if(_0x2aa9c4[_0x15f05b][_0x87ef('0x63')]===_0x87ef('0x64')){_0x89bb13[_0x87ef('0x61')][_0x87ef('0x2a')]+=0x1;_0x89bb13[_0x87ef('0x61')][_0x87ef('0x2b')]+=_0x2aa9c4[_0x15f05b][_0x87ef('0x62')]-_0x2aa9c4[_0x15f05b]['billableseconds']||0x0;_0x89bb13[_0x87ef('0x61')][_0x87ef('0x2d')]+=_0x2aa9c4[_0x15f05b][_0x87ef('0x65')];}}}return _0x89bb13['outbound'];};};Realtime[_0x87ef('0x3c')]['initCampaigns']=function(){var _0x84f0dd=this;return function(_0x24dfc4){if(_0x24dfc4){freeIsNotKey(_0x24dfc4,_0x84f0dd[_0x87ef('0x15')],_0x87ef('0x26'));for(var _0x431350=0x0,_0x272d3d={};_0x431350<_0x24dfc4[_0x87ef('0x3f')];_0x431350+=0x1){_0x272d3d=_0x24dfc4[_0x431350];if(_[_0x87ef('0x41')](_0x84f0dd[_0x87ef('0x15')][_0x272d3d[_0x87ef('0x26')]])){_0x84f0dd['campaigns'][_0x272d3d[_0x87ef('0x26')]]=new Campaign(_0x272d3d);}else{_0x84f0dd[_0x87ef('0x3d')](_0x84f0dd[_0x87ef('0x15')][_0x272d3d[_0x87ef('0x26')]],_0x272d3d);_0x84f0dd[_0x87ef('0x15')][_0x272d3d[_0x87ef('0x26')]][_0x87ef('0x66')]=_0x272d3d['SquareProject']?_0x272d3d[_0x87ef('0x67')][_0x87ef('0x26')]:undefined;}}}return _0x84f0dd['campaigns'];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x68')]=function(){var _0xf9905d=this;return function(_0x481e45){if(_0x481e45){freeIsNotKey(_0x481e45,_0xf9905d[_0x87ef('0x17')],'id');for(var _0xae2fd8=0x0,_0x1490b7={};_0xae2fd8<_0x481e45[_0x87ef('0x3f')];_0xae2fd8+=0x1){_0x1490b7=_0x481e45[_0xae2fd8];if(_[_0x87ef('0x41')](_0xf9905d[_0x87ef('0x17')][_0x1490b7['id']])){_0xf9905d[_0x87ef('0x17')][_0x1490b7['id']]=new VoiceExtension(_0x1490b7);}else{_0xf9905d[_0x87ef('0x3d')](_0xf9905d[_0x87ef('0x17')][_0x1490b7['id']],_0x1490b7);}}}return _0xf9905d[_0x87ef('0x17')];};};Realtime[_0x87ef('0x3c')][_0x87ef('0x69')]=function(){var _0x5da95e=this;return function(_0x232ef7){clearCampaigns(_0x5da95e[_0x87ef('0x15')]);for(var _0x274b13=0x0;_0x274b13<_0x232ef7['length'];_0x274b13+=0x1){_[_0x87ef('0x6a')](_0x5da95e['campaigns'][_0x232ef7[_0x274b13][_0x87ef('0x26')]],_0x232ef7[_0x274b13]);}return _0x5da95e[_0x87ef('0x15')];};};Realtime[_0x87ef('0x3c')]['initFaxAccounts']=function(){var _0x551b59=this;return function(_0x4cb25d){if(_0x4cb25d){freeIsNotKey(_0x4cb25d,_0x551b59[_0x87ef('0x22')],'id');for(var _0x443d88=0x0,_0x1fb6da={},_0x4c6be9={};_0x443d88<_0x4cb25d[_0x87ef('0x3f')];_0x443d88+=0x1){_0x1fb6da=_0x4cb25d[_0x443d88];if(_[_0x87ef('0x41')](_0x551b59[_0x87ef('0x22')][_0x1fb6da['id']])){_0x551b59['faxAccounts'][_0x1fb6da['id']]=new FaxAccount(_0x1fb6da);}else{_0x551b59[_0x87ef('0x3d')](_0x551b59[_0x87ef('0x22')][_0x1fb6da['id']],_0x1fb6da);}}}return _0x551b59[_0x87ef('0x22')];};};module['exports']=Realtime;