Built motion from commit (unavailable).|2.5.20
[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 _0x60b9=['abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','queueStatusComplete','prototype','initAgents','length','isUndefined','mergeFromDatabase','initTelephones','initTrunks','initVoiceQueues','initTriggers','initZendeskAccounts','zendeskAccounts','initFreshdeskAccounts','initDeskAccounts','deskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','initVoiceQueueHopperHistory','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallercomplete','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','initCampaigns','dialQueueProject','SquareProject','voiceExtensions','initFaxAccounts','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/servicenowAccount','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','channels','queueChannels','outboundChannels','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','name','isNil','format','interface','total','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','answered','unmanaged'];(function(_0x2df253,_0x308b52){var _0x30445f=function(_0x136a73){while(--_0x136a73){_0x2df253['push'](_0x2df253['shift']());}};_0x30445f(++_0x308b52);}(_0x60b9,0xa2));var _0x960b=function(_0x427a15,_0x34e45a){_0x427a15=_0x427a15-0x0;var _0x323f03=_0x60b9[_0x427a15];return _0x323f03;};'use strict';var BPromise=require(_0x960b('0x0'));var util=require(_0x960b('0x1'));var _=require(_0x960b('0x2'));var moment=require(_0x960b('0x3'));var Agent=require(_0x960b('0x4'));var Telephone=require(_0x960b('0x5'));var Trunk=require('../model/trunk');var VoiceQueue=require(_0x960b('0x6'));var Trigger=require(_0x960b('0x7'));var Template=require(_0x960b('0x8'));var Campaign=require(_0x960b('0x9'));var VoiceExtension=require(_0x960b('0xa'));var ZendeskAccount=require(_0x960b('0xb'));var SalesforceAccount=require(_0x960b('0xc'));var FreshdeskAccount=require(_0x960b('0xd'));var SugarcrmAccount=require(_0x960b('0xe'));var ZohoAccount=require(_0x960b('0xf'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x960b('0x10'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require(_0x960b('0x11'));var FaxAccount=require(_0x960b('0x12'));var Realtime=function(){this[_0x960b('0x13')]={};this[_0x960b('0x14')]={};this[_0x960b('0x15')]={};this[_0x960b('0x16')]={};this[_0x960b('0x17')]={};this[_0x960b('0x18')]={};this[_0x960b('0x19')]={};this[_0x960b('0x1a')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0x960b('0x1b')]={};this[_0x960b('0x1c')]={};this[_0x960b('0x1d')]={};this['timers']={};this['zendeskAccounts']={};this[_0x960b('0x1e')]={};this[_0x960b('0x1f')]={};this[_0x960b('0x20')]={};this[_0x960b('0x21')]={};this['deskAccounts']={};this[_0x960b('0x22')]={};this[_0x960b('0x23')]={};this[_0x960b('0x24')]={};this['freshsalesAccounts']={};this[_0x960b('0x25')]={};};function freeIsNotKey(_0x19d423,_0x157afd,_0x91e904){var _0x26f711=_[_0x960b('0x26')](_0x19d423,function(_0x4512f5,_0x3b7442){return _0x4512f5[_0x91e904];});for(var _0x25ee79 in _0x157afd){if(_0x157afd[_0x960b('0x27')](_0x25ee79)){if(!_0x26f711[_0x25ee79]){delete _0x157afd[_0x25ee79];}}}}function freeIsNotKeySip(_0x243e7b,_0x15ad70){var _0x4ac2f2=_[_0x960b('0x26')](_0x243e7b,function(_0x4fd351,_0x43b397){return util['format'](_0x960b('0x28'),_0x4fd351[_0x960b('0x29')]);});for(var _0x125997 in _0x15ad70){if(_0x15ad70['hasOwnProperty'](_0x125997)){if(!_0x4ac2f2[_0x125997]){delete _0x15ad70[_0x125997];}}}}function freeIsNotKeyAgent(_0x1a60aa,_0xe1a9cb){var _0x2230e7=_['mapKeys'](_0x1a60aa,function(_0x23c8cb,_0x29d1c){var _0x58492a=_[_0x960b('0x2a')](_0x23c8cb['interface'])?util[_0x960b('0x2b')](_0x960b('0x28'),_0x23c8cb[_0x960b('0x29')]):_0x23c8cb[_0x960b('0x2c')];return _0x58492a;});for(var _0x442d20 in _0xe1a9cb){if(_0xe1a9cb[_0x960b('0x27')](_0x442d20)){if(!_0x2230e7[_0x442d20]){delete _0xe1a9cb[_0x442d20];}}}}function clearVoiceCallReports(_0x2586cc){_0x2586cc[_0x960b('0x2d')]=0x0;_0x2586cc['answered']=0x0;_0x2586cc[_0x960b('0x2e')]=0x0;_0x2586cc[_0x960b('0x2f')]=0x0;_0x2586cc[_0x960b('0x30')]=0x0;}function clearCampaigns(_0x1020be){if(!_[_0x960b('0x31')](_0x1020be)){for(var _0x415acd in _0x1020be){if(_0x1020be['hasOwnProperty'](_0x415acd)){_0x1020be[_0x415acd][_0x960b('0x32')]=0x0;_0x1020be[_0x415acd][_0x960b('0x33')]=0x0;}}}}function clearVoiceQueues(_0x495e33){if(!_['isEmpty'](_0x495e33)){for(var _0xac3cca in _0x495e33){if(_0x495e33['hasOwnProperty'](_0xac3cca)){_0x495e33[_0xac3cca][_0x960b('0x2d')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x34')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x35')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x36')]=0x0;_0x495e33[_0xac3cca]['sumHoldTime']=0x0;_0x495e33[_0xac3cca]['sumDuration']=0x0;_0x495e33[_0xac3cca][_0x960b('0x30')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x37')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x38')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x39')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x3a')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x3b')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x3c')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x3d')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x3e')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x3f')]=0x0;_0x495e33[_0xac3cca][_0x960b('0x40')]=0x0;_0x495e33[_0xac3cca]['outboundRejectCallsDay']=0x0;_0x495e33[_0xac3cca]['outboundReCallsDay']=0x0;_0x495e33[_0xac3cca][_0x960b('0x37')]=0x0;_0x495e33[_0xac3cca]['outboundAnswerCallsDay']=0x0;_0x495e33[_0xac3cca][_0x960b('0x41')]=!![];}}}}Realtime['prototype']['mergeFromDatabase']=function(_0xfa565d,_0x107080){for(var _0x184ee6 in _0x107080){if(_0xfa565d['hasOwnProperty'](_0x184ee6)){_0xfa565d[_0x184ee6]=_0x107080[_0x184ee6];}}};Realtime[_0x960b('0x42')][_0x960b('0x43')]=function(){var _0x5bd6a4=this;return function(_0x2d7202){if(_0x2d7202){freeIsNotKeyAgent(_0x2d7202,_0x5bd6a4['agents']);for(var _0x44b757=0x0,_0x50f219={},_0x2ff290={};_0x44b757<_0x2d7202[_0x960b('0x44')];_0x44b757+=0x1){_0x50f219=_0x2d7202[_0x44b757];var _0x38163b=_['isNil'](_0x50f219[_0x960b('0x2c')])?util['format'](_0x960b('0x28'),_0x50f219[_0x960b('0x29')]):_0x50f219[_0x960b('0x2c')];if(_[_0x960b('0x45')](_0x5bd6a4[_0x960b('0x13')][_0x38163b])){_0x5bd6a4[_0x960b('0x13')][_0x38163b]=new Agent(_0x50f219);}else{_0x5bd6a4[_0x960b('0x46')](_0x5bd6a4[_0x960b('0x13')][_0x38163b],_0x50f219);}}}return _0x5bd6a4[_0x960b('0x13')];};};Realtime['prototype'][_0x960b('0x47')]=function(){var _0x46cc41=this;return function(_0x3d32dd){if(_0x3d32dd){freeIsNotKeySip(_0x3d32dd,_0x46cc41[_0x960b('0x14')]);for(var _0x35b479=0x0,_0x1a0918={},_0x216a04={};_0x35b479<_0x3d32dd[_0x960b('0x44')];_0x35b479+=0x1){_0x1a0918=_0x3d32dd[_0x35b479];if(_[_0x960b('0x45')](_0x46cc41[_0x960b('0x14')][util['format'](_0x960b('0x28'),_0x1a0918[_0x960b('0x29')])])){_0x46cc41[_0x960b('0x14')][util[_0x960b('0x2b')](_0x960b('0x28'),_0x1a0918[_0x960b('0x29')])]=new Telephone(_0x1a0918);}else{_0x46cc41[_0x960b('0x46')](_0x46cc41[_0x960b('0x14')][util['format'](_0x960b('0x28'),_0x1a0918[_0x960b('0x29')])],_0x1a0918);}}}return _0x46cc41[_0x960b('0x14')];};};Realtime[_0x960b('0x42')][_0x960b('0x48')]=function(){var _0x17c7c7=this;return function(_0x2dc6e2){if(_0x2dc6e2){freeIsNotKeySip(_0x2dc6e2,_0x17c7c7['trunks']);for(var _0x3b6dc2=0x0,_0x3caaa7={},_0x4e5cd4={};_0x3b6dc2<_0x2dc6e2['length'];_0x3b6dc2+=0x1){_0x3caaa7=_0x2dc6e2[_0x3b6dc2];if(_[_0x960b('0x45')](_0x17c7c7[_0x960b('0x15')][util[_0x960b('0x2b')](_0x960b('0x28'),_0x3caaa7[_0x960b('0x29')])])){_0x17c7c7[_0x960b('0x15')][util[_0x960b('0x2b')]('SIP/%s',_0x3caaa7[_0x960b('0x29')])]=new Trunk(_0x3caaa7);}else{_0x17c7c7['mergeFromDatabase'](_0x17c7c7['trunks'][util[_0x960b('0x2b')](_0x960b('0x28'),_0x3caaa7[_0x960b('0x29')])],_0x3caaa7);}}}return _0x17c7c7[_0x960b('0x15')];};};Realtime[_0x960b('0x42')][_0x960b('0x49')]=function(){var _0x4c58b4=this;return function(_0x152e13){if(_0x152e13){freeIsNotKey(_0x152e13,_0x4c58b4[_0x960b('0x16')],_0x960b('0x29'));for(var _0x38352b=0x0,_0x433f21={},_0x57cd67={};_0x38352b<_0x152e13[_0x960b('0x44')];_0x38352b+=0x1){_0x433f21=_0x152e13[_0x38352b];if(_[_0x960b('0x45')](_0x4c58b4[_0x960b('0x16')][_0x433f21[_0x960b('0x29')]])){_0x4c58b4['voiceQueues'][_0x433f21['name']]=new VoiceQueue(_0x433f21);}else{_0x4c58b4[_0x960b('0x46')](_0x4c58b4[_0x960b('0x16')][_0x433f21['name']],_0x433f21);}}}return _0x4c58b4[_0x960b('0x16')];};};Realtime[_0x960b('0x42')][_0x960b('0x4a')]=function(){var _0x44cfbf=this;return function(_0x2ae496){if(_0x2ae496){freeIsNotKey(_0x2ae496,_0x44cfbf['triggers'],'id');for(var _0x2192f6=0x0,_0x299c86={},_0xe74df8={};_0x2192f6<_0x2ae496['length'];_0x2192f6+=0x1){_0x299c86=_0x2ae496[_0x2192f6];if(_[_0x960b('0x45')](_0x44cfbf['triggers'][_0x299c86['id']])){_0x44cfbf[_0x960b('0x17')][_0x299c86['id']]=new Trigger(_0x299c86);}else{_0x44cfbf[_0x960b('0x46')](_0x44cfbf[_0x960b('0x17')][_0x299c86['id']],_0x299c86);}}}return _0x44cfbf[_0x960b('0x17')];};};Realtime['prototype']['initTemplates']=function(){var _0x1c452c=this;return function(_0xc284aa){if(_0xc284aa){freeIsNotKey(_0xc284aa,_0x1c452c[_0x960b('0x19')],'id');for(var _0x97e982=0x0,_0x298c3f={},_0x284bd9={};_0x97e982<_0xc284aa[_0x960b('0x44')];_0x97e982+=0x1){_0x298c3f=_0xc284aa[_0x97e982];if(_['isUndefined'](_0x1c452c[_0x960b('0x19')][_0x298c3f['id']])){_0x1c452c[_0x960b('0x19')][_0x298c3f['id']]=new Template(_0x298c3f);}else{_0x1c452c[_0x960b('0x46')](_0x1c452c[_0x960b('0x19')][_0x298c3f['id']],_0x298c3f);}}}return _0x1c452c[_0x960b('0x19')];};};Realtime[_0x960b('0x42')][_0x960b('0x4b')]=function(){var _0x5d0e19=this;return function(_0x294237){if(_0x294237){freeIsNotKey(_0x294237,_0x5d0e19[_0x960b('0x4c')],'id');for(var _0x54fc6d=0x0,_0x4ee1fb={},_0x144be1={};_0x54fc6d<_0x294237[_0x960b('0x44')];_0x54fc6d+=0x1){_0x4ee1fb=_0x294237[_0x54fc6d];if(_[_0x960b('0x45')](_0x5d0e19[_0x960b('0x4c')][_0x4ee1fb['id']])){_0x5d0e19[_0x960b('0x4c')][_0x4ee1fb['id']]=new ZendeskAccount(_0x4ee1fb);}else{_0x5d0e19[_0x960b('0x46')](_0x5d0e19[_0x960b('0x4c')][_0x4ee1fb['id']],_0x4ee1fb);}}}return _0x5d0e19['zendeskAccounts'];};};Realtime[_0x960b('0x42')]['initSalesforceAccounts']=function(){var _0x1363b8=this;return function(_0x1acbdb){if(_0x1acbdb){freeIsNotKey(_0x1acbdb,_0x1363b8[_0x960b('0x1e')],'id');for(var _0x269616=0x0,_0x2e7cc4={},_0xb49ea5={};_0x269616<_0x1acbdb[_0x960b('0x44')];_0x269616+=0x1){_0x2e7cc4=_0x1acbdb[_0x269616];if(_['isUndefined'](_0x1363b8[_0x960b('0x1e')][_0x2e7cc4['id']])){_0x1363b8[_0x960b('0x1e')][_0x2e7cc4['id']]=new SalesforceAccount(_0x2e7cc4);}else{_0x1363b8[_0x960b('0x46')](_0x1363b8['salesforceAccounts'][_0x2e7cc4['id']],_0x2e7cc4);}}}return _0x1363b8[_0x960b('0x1e')];};};Realtime[_0x960b('0x42')][_0x960b('0x4d')]=function(){var _0x220a8c=this;return function(_0x5cbc43){if(_0x5cbc43){freeIsNotKey(_0x5cbc43,_0x220a8c[_0x960b('0x20')],'id');for(var _0x411cb8=0x0,_0x2cdd7e={},_0x534db3={};_0x411cb8<_0x5cbc43[_0x960b('0x44')];_0x411cb8+=0x1){_0x2cdd7e=_0x5cbc43[_0x411cb8];if(_[_0x960b('0x45')](_0x220a8c['freshdeskAccounts'][_0x2cdd7e['id']])){_0x220a8c[_0x960b('0x20')][_0x2cdd7e['id']]=new FreshdeskAccount(_0x2cdd7e);}else{_0x220a8c[_0x960b('0x46')](_0x220a8c[_0x960b('0x20')][_0x2cdd7e['id']],_0x2cdd7e);}}}return _0x220a8c[_0x960b('0x20')];};};Realtime['prototype']['initZohoAccounts']=function(){var _0x32a626=this;return function(_0x8c4682){if(_0x8c4682){freeIsNotKey(_0x8c4682,_0x32a626[_0x960b('0x21')],'id');for(var _0x557bc6=0x0,_0x4d12d1={},_0x5380fc={};_0x557bc6<_0x8c4682[_0x960b('0x44')];_0x557bc6+=0x1){_0x4d12d1=_0x8c4682[_0x557bc6];if(_[_0x960b('0x45')](_0x32a626[_0x960b('0x21')][_0x4d12d1['id']])){_0x32a626['zohoAccounts'][_0x4d12d1['id']]=new ZohoAccount(_0x4d12d1);}else{_0x32a626['mergeFromDatabase'](_0x32a626[_0x960b('0x21')][_0x4d12d1['id']],_0x4d12d1);}}}return _0x32a626[_0x960b('0x21')];};};Realtime[_0x960b('0x42')][_0x960b('0x4e')]=function(){var _0x471960=this;return function(_0x34752f){if(_0x34752f){freeIsNotKey(_0x34752f,_0x471960[_0x960b('0x4f')],'id');for(var _0x6c8670=0x0,_0xa5e158={},_0x4998da={};_0x6c8670<_0x34752f['length'];_0x6c8670+=0x1){_0xa5e158=_0x34752f[_0x6c8670];if(_[_0x960b('0x45')](_0x471960[_0x960b('0x4f')][_0xa5e158['id']])){_0x471960[_0x960b('0x4f')][_0xa5e158['id']]=new DeskAccount(_0xa5e158);}else{_0x471960[_0x960b('0x46')](_0x471960['deskAccounts'][_0xa5e158['id']],_0xa5e158);}}}return _0x471960[_0x960b('0x4f')];};};Realtime[_0x960b('0x42')][_0x960b('0x50')]=function(){var _0x201962=this;return function(_0x4e7755){if(_0x4e7755){freeIsNotKey(_0x4e7755,_0x201962[_0x960b('0x1f')],'id');for(var _0x3f890f=0x0,_0x2ebfdd={},_0x5cc9f7={};_0x3f890f<_0x4e7755[_0x960b('0x44')];_0x3f890f+=0x1){_0x2ebfdd=_0x4e7755[_0x3f890f];if(_[_0x960b('0x45')](_0x201962[_0x960b('0x1f')][_0x2ebfdd['id']])){_0x201962[_0x960b('0x1f')][_0x2ebfdd['id']]=new SugarcrmAccount(_0x2ebfdd);}else{_0x201962[_0x960b('0x46')](_0x201962[_0x960b('0x1f')][_0x2ebfdd['id']],_0x2ebfdd);}}}return _0x201962['sugarcrmAccounts'];};};Realtime[_0x960b('0x42')][_0x960b('0x51')]=function(){var _0xa62a22=this;return function(_0x1f1644){if(_0x1f1644){freeIsNotKey(_0x1f1644,_0xa62a22[_0x960b('0x22')],'id');for(var _0x244d65=0x0,_0x389665={},_0x158ee1={};_0x244d65<_0x1f1644[_0x960b('0x44')];_0x244d65+=0x1){_0x389665=_0x1f1644[_0x244d65];if(_[_0x960b('0x45')](_0xa62a22[_0x960b('0x22')][_0x389665['id']])){_0xa62a22[_0x960b('0x22')][_0x389665['id']]=new VtigerAccount(_0x389665);}else{_0xa62a22['mergeFromDatabase'](_0xa62a22[_0x960b('0x22')][_0x389665['id']],_0x389665);}}}return _0xa62a22['vtigerAccounts'];};};Realtime['prototype'][_0x960b('0x52')]=function(){var _0x5cd293=this;return function(_0x1e4564){if(_0x1e4564){freeIsNotKey(_0x1e4564,_0x5cd293['servicenowAccounts'],'id');for(var _0x5f4eee=0x0,_0x18d97b={},_0x37a9c4={};_0x5f4eee<_0x1e4564[_0x960b('0x44')];_0x5f4eee+=0x1){_0x18d97b=_0x1e4564[_0x5f4eee];if(_[_0x960b('0x45')](_0x5cd293[_0x960b('0x23')][_0x18d97b['id']])){_0x5cd293[_0x960b('0x23')][_0x18d97b['id']]=new ServicenowAccount(_0x18d97b);}else{_0x5cd293['mergeFromDatabase'](_0x5cd293['servicenowAccounts'][_0x18d97b['id']],_0x18d97b);}}}return _0x5cd293[_0x960b('0x23')];};};Realtime['prototype'][_0x960b('0x53')]=function(){var _0x5dd966=this;return function(_0x29884a){if(_0x29884a){freeIsNotKey(_0x29884a,_0x5dd966[_0x960b('0x24')],'id');for(var _0x33a865=0x0,_0x4fdfd8={},_0x1f15d1={};_0x33a865<_0x29884a['length'];_0x33a865+=0x1){_0x4fdfd8=_0x29884a[_0x33a865];if(_['isUndefined'](_0x5dd966['dynamics365Accounts'][_0x4fdfd8['id']])){_0x5dd966[_0x960b('0x24')][_0x4fdfd8['id']]=new Dynamics365Account(_0x4fdfd8);}else{_0x5dd966[_0x960b('0x46')](_0x5dd966['dynamics365Accounts'][_0x4fdfd8['id']],_0x4fdfd8);}}}return _0x5dd966['dynamics365Accounts'];};};Realtime[_0x960b('0x42')][_0x960b('0x54')]=function(){var _0xd6806f=this;return function(_0x5a2b06){if(_0x5a2b06){freeIsNotKey(_0x5a2b06,_0xd6806f['freshsalesAccounts'],'id');for(var _0x4e9fd4=0x0,_0x246c7f={},_0x4c4759={};_0x4e9fd4<_0x5a2b06[_0x960b('0x44')];_0x4e9fd4+=0x1){_0x246c7f=_0x5a2b06[_0x4e9fd4];if(_[_0x960b('0x45')](_0xd6806f[_0x960b('0x55')][_0x246c7f['id']])){_0xd6806f[_0x960b('0x55')][_0x246c7f['id']]=new FreshsalesAccount(_0x246c7f);}else{_0xd6806f[_0x960b('0x46')](_0xd6806f['freshsalesAccounts'][_0x246c7f['id']],_0x246c7f);}}}return _0xd6806f['freshsalesAccounts'];};};Realtime[_0x960b('0x42')][_0x960b('0x56')]=function(){var _0x300ec7=this;return function(_0x488ff9){for(var _0x334f52=0x0;_0x334f52<_0x488ff9['length'];_0x334f52+=0x1){_['merge'](_0x300ec7['voiceQueues'][_0x488ff9[_0x334f52][_0x960b('0x29')]],_0x488ff9[_0x334f52]);}return _0x300ec7['voiceQueues'];};};Realtime[_0x960b('0x42')][_0x960b('0x57')]=function(){var _0x31412c=this;return function(_0x4f7e11){clearVoiceQueues(_0x31412c[_0x960b('0x16')]);if(_0x4f7e11){_0x4f7e11=_[_0x960b('0x58')](_0x4f7e11,_0x960b('0x59'));for(var _0x5b630a in _0x4f7e11){if(_0x4f7e11[_0x960b('0x27')](_0x5b630a)){var _0x537815={};for(var _0x1ccd66=0x0;_0x1ccd66<_0x4f7e11[_0x5b630a][_0x960b('0x44')];_0x1ccd66+=0x1){var _0x2e9bb8=_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x5a')];if(_0x31412c[_0x960b('0x16')][_0x2e9bb8]){if(_0x4f7e11[_0x5b630a][_0x1ccd66]['queuecallerexit']){_0x31412c[_0x960b('0x16')][_0x2e9bb8][_0x960b('0x35')]+=0x1;}if(_0x4f7e11[_0x5b630a][_0x1ccd66]['queuecallerabandon']){_0x31412c[_0x960b('0x16')][_0x2e9bb8]['abandoned']+=0x1;}_0x31412c[_0x960b('0x16')][_0x2e9bb8][_0x960b('0x2e')]+=moment(_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x5b')])[_0x960b('0x5c')](moment(_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x5d')]),_0x960b('0x5e'))||0x0;if(_0x1ccd66===_0x4f7e11[_0x5b630a]['length']-0x1){_0x31412c[_0x960b('0x16')][_0x2e9bb8][_0x960b('0x2f')]+=moment(_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x5f')]||_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x60')]||_0x4f7e11[_0x5b630a][_0x1ccd66]['queuecallerexitAt'])[_0x960b('0x5c')](moment(_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x5d')]),_0x960b('0x5e'))||0x0;_0x31412c[_0x960b('0x16')][_0x2e9bb8][_0x960b('0x2d')]+=0x1;if(_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x61')]){_0x31412c[_0x960b('0x16')][_0x2e9bb8][_0x960b('0x34')]+=0x1;_0x31412c[_0x960b('0x16')][_0x2e9bb8]['sumBillable']+=moment(_0x4f7e11[_0x5b630a][_0x1ccd66]['queuecallercompleteAt'])[_0x960b('0x5c')](moment(_0x4f7e11[_0x5b630a][_0x1ccd66][_0x960b('0x5b')]),'seconds')||0x0;}}else{_0x31412c[_0x960b('0x16')][_0x2e9bb8]['sumDuration']+=_0x31412c[_0x960b('0x16')][_0x2e9bb8]['sumHoldTime']||0x0;}}}}}}return _0x31412c[_0x960b('0x16')];};};Realtime[_0x960b('0x42')][_0x960b('0x62')]=function(){var _0x42bc9e=this;return function(_0x1c1012){clearVoiceCallReports(_0x42bc9e[_0x960b('0x1a')]);if(_0x1c1012){for(var _0x40b2f0=0x0;_0x40b2f0<_0x1c1012[_0x960b('0x44')];_0x40b2f0+=0x1){_0x42bc9e[_0x960b('0x1a')][_0x960b('0x2d')]+=0x1;_0x42bc9e['outbound'][_0x960b('0x2f')]+=_0x1c1012[_0x40b2f0][_0x960b('0x63')];if(_0x1c1012[_0x40b2f0][_0x960b('0x64')]===_0x960b('0x65')){_0x42bc9e[_0x960b('0x1a')]['answered']+=0x1;_0x42bc9e[_0x960b('0x1a')][_0x960b('0x2e')]+=_0x1c1012[_0x40b2f0][_0x960b('0x63')]-_0x1c1012[_0x40b2f0][_0x960b('0x66')]||0x0;_0x42bc9e[_0x960b('0x1a')]['sumBillable']+=_0x1c1012[_0x40b2f0][_0x960b('0x66')];}}}return _0x42bc9e[_0x960b('0x1a')];};};Realtime[_0x960b('0x42')][_0x960b('0x67')]=function(){var _0x19fe70=this;return function(_0x35c15d){if(_0x35c15d){freeIsNotKey(_0x35c15d,_0x19fe70['campaigns'],_0x960b('0x29'));for(var _0xc0ff1e=0x0,_0x480176={};_0xc0ff1e<_0x35c15d[_0x960b('0x44')];_0xc0ff1e+=0x1){_0x480176=_0x35c15d[_0xc0ff1e];if(_[_0x960b('0x45')](_0x19fe70['campaigns'][_0x480176[_0x960b('0x29')]])){_0x19fe70[_0x960b('0x18')][_0x480176[_0x960b('0x29')]]=new Campaign(_0x480176);}else{_0x19fe70[_0x960b('0x46')](_0x19fe70[_0x960b('0x18')][_0x480176[_0x960b('0x29')]],_0x480176);_0x19fe70['campaigns'][_0x480176[_0x960b('0x29')]][_0x960b('0x68')]=_0x480176['SquareProject']?_0x480176[_0x960b('0x69')][_0x960b('0x29')]:undefined;}}}return _0x19fe70[_0x960b('0x18')];};};Realtime[_0x960b('0x42')]['initVoiceExtensions']=function(){var _0x2bfbf7=this;return function(_0x999e46){if(_0x999e46){freeIsNotKey(_0x999e46,_0x2bfbf7[_0x960b('0x6a')],'id');for(var _0x49a344=0x0,_0x5367dc={};_0x49a344<_0x999e46[_0x960b('0x44')];_0x49a344+=0x1){_0x5367dc=_0x999e46[_0x49a344];if(_['isUndefined'](_0x2bfbf7[_0x960b('0x6a')][_0x5367dc['id']])){_0x2bfbf7[_0x960b('0x6a')][_0x5367dc['id']]=new VoiceExtension(_0x5367dc);}else{_0x2bfbf7[_0x960b('0x46')](_0x2bfbf7[_0x960b('0x6a')][_0x5367dc['id']],_0x5367dc);}}}return _0x2bfbf7[_0x960b('0x6a')];};};Realtime[_0x960b('0x42')]['initCampaignHopperHistory']=function(){var _0x271ba2=this;return function(_0x5ad810){clearCampaigns(_0x271ba2[_0x960b('0x18')]);for(var _0x2c547f=0x0;_0x2c547f<_0x5ad810[_0x960b('0x44')];_0x2c547f+=0x1){_['merge'](_0x271ba2[_0x960b('0x18')][_0x5ad810[_0x2c547f]['name']],_0x5ad810[_0x2c547f]);}return _0x271ba2[_0x960b('0x18')];};};Realtime[_0x960b('0x42')][_0x960b('0x6b')]=function(){var _0x90bb99=this;return function(_0x2fe3bc){if(_0x2fe3bc){freeIsNotKey(_0x2fe3bc,_0x90bb99[_0x960b('0x25')],'id');for(var _0x36e44a=0x0,_0x5c1b52={},_0x583172={};_0x36e44a<_0x2fe3bc['length'];_0x36e44a+=0x1){_0x5c1b52=_0x2fe3bc[_0x36e44a];if(_[_0x960b('0x45')](_0x90bb99[_0x960b('0x25')][_0x5c1b52['id']])){_0x90bb99[_0x960b('0x25')][_0x5c1b52['id']]=new FaxAccount(_0x5c1b52);}else{_0x90bb99[_0x960b('0x46')](_0x90bb99[_0x960b('0x25')][_0x5c1b52['id']],_0x5c1b52);}}}return _0x90bb99[_0x960b('0x25')];};};module['exports']=Realtime;