Built motion from commit da617fac.|2.6.6
[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 _0xc5c8=['faxAccounts','mapKeys','format','SIP/%s','name','hasOwnProperty','isNil','total','answered','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','sumHoldTime','sumBillable','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundAnswerCallsDay','mergeFromDatabase','prototype','initAgents','agents','length','interface','isUndefined','initTelephones','voiceQueues','initTriggers','triggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','deskAccounts','sugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','uniqueid','queue','queuecallerabandon','diff','seconds','sumDuration','queuecallerabandonAt','queuecallercomplete','queuecallercompleteAt','queuecallerleaveAt','initVoiceCallReports','outbound','duration','ANSWERED','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','merge','initFaxAccounts','util','lodash','moment','../model/telephone','../model/trigger','../model/template','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','telephones','trunks','campaigns','templates','channels','queueChannels','settings','zendeskAccounts','salesforceAccounts','freshdeskAccounts','zohoAccounts','servicenowAccounts','freshsalesAccounts'];(function(_0x3d5859,_0x1be169){var _0xce6e80=function(_0xa16cb5){while(--_0xa16cb5){_0x3d5859['push'](_0x3d5859['shift']());}};_0xce6e80(++_0x1be169);}(_0xc5c8,0x118));var _0x8c5c=function(_0x20dd26,_0x2b0c02){_0x20dd26=_0x20dd26-0x0;var _0x5f2bed=_0xc5c8[_0x20dd26];return _0x5f2bed;};'use strict';var util=require(_0x8c5c('0x0'));var _=require(_0x8c5c('0x1'));var moment=require(_0x8c5c('0x2'));var Agent=require('../model/agent');var Telephone=require(_0x8c5c('0x3'));var Trunk=require('../model/trunk');var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x8c5c('0x4'));var Template=require(_0x8c5c('0x5'));var Campaign=require('../model/campaign');var VoiceExtension=require(_0x8c5c('0x6'));var ZendeskAccount=require(_0x8c5c('0x7'));var SalesforceAccount=require(_0x8c5c('0x8'));var FreshdeskAccount=require(_0x8c5c('0x9'));var SugarcrmAccount=require(_0x8c5c('0xa'));var ZohoAccount=require(_0x8c5c('0xb'));var DeskAccount=require(_0x8c5c('0xc'));var VtigerAccount=require(_0x8c5c('0xd'));var ServicenowAccount=require(_0x8c5c('0xe'));var Dynamics365Account=require(_0x8c5c('0xf'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require('../model/faxAccount');var Realtime=function(){this['agents']={};this[_0x8c5c('0x10')]={};this[_0x8c5c('0x11')]={};this['voiceQueues']={};this['triggers']={};this[_0x8c5c('0x12')]={};this[_0x8c5c('0x13')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0x8c5c('0x14')]={};this[_0x8c5c('0x15')]={};this['outboundChannels']={};this['timers']={};this[_0x8c5c('0x16')]={};this[_0x8c5c('0x17')]={};this[_0x8c5c('0x18')]={};this['sugarcrmAccounts']={};this[_0x8c5c('0x19')]={};this[_0x8c5c('0x1a')]={};this['deskAccounts']={};this['vtigerAccounts']={};this[_0x8c5c('0x1b')]={};this['dynamics365Accounts']={};this[_0x8c5c('0x1c')]={};this[_0x8c5c('0x1d')]={};};function freeIsNotKey(_0x2e820a,_0x3a3104,_0x535bb0){var _0x32e5cb=_[_0x8c5c('0x1e')](_0x2e820a,function(_0x107835,_0x189ddb){return _0x107835[_0x535bb0];});for(var _0x10614e in _0x3a3104){if(_0x3a3104['hasOwnProperty'](_0x10614e)){if(!_0x32e5cb[_0x10614e]){delete _0x3a3104[_0x10614e];}}}}function freeIsNotKeySip(_0x5d8dd3,_0x51ff6b){var _0x56a434=_[_0x8c5c('0x1e')](_0x5d8dd3,function(_0x53c6ad,_0x2c1e97){return util[_0x8c5c('0x1f')](_0x8c5c('0x20'),_0x53c6ad[_0x8c5c('0x21')]);});for(var _0x21d0de in _0x51ff6b){if(_0x51ff6b[_0x8c5c('0x22')](_0x21d0de)){if(!_0x56a434[_0x21d0de]){delete _0x51ff6b[_0x21d0de];}}}}function freeIsNotKeyAgent(_0xc174a4,_0xac22f9){var _0x4a6618=_[_0x8c5c('0x1e')](_0xc174a4,function(_0x542b61,_0x2f3ef3){var _0x34f24e=_[_0x8c5c('0x23')](_0x542b61['interface'])?util[_0x8c5c('0x1f')]('SIP/%s',_0x542b61['name']):_0x542b61['interface'];return _0x34f24e;});for(var _0x32a426 in _0xac22f9){if(_0xac22f9[_0x8c5c('0x22')](_0x32a426)){if(!_0x4a6618[_0x32a426]){delete _0xac22f9[_0x32a426];}}}}function clearVoiceCallReports(_0x19389f){_0x19389f[_0x8c5c('0x24')]=0x0;_0x19389f[_0x8c5c('0x25')]=0x0;_0x19389f['sumHoldTime']=0x0;_0x19389f['sumDuration']=0x0;_0x19389f['sumBillable']=0x0;}function clearCampaigns(_0x19820f){if(!_[_0x8c5c('0x26')](_0x19820f)){for(var _0x2fc2f7 in _0x19820f){if(_0x19820f[_0x8c5c('0x22')](_0x2fc2f7)){_0x19820f[_0x2fc2f7][_0x8c5c('0x27')]=0x0;_0x19820f[_0x2fc2f7][_0x8c5c('0x28')]=0x0;}}}}function clearVoiceQueues(_0x40057e){if(!_[_0x8c5c('0x26')](_0x40057e)){for(var _0x140c21 in _0x40057e){if(_0x40057e[_0x8c5c('0x22')](_0x140c21)){_0x40057e[_0x140c21][_0x8c5c('0x24')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x25')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x29')]=0x0;_0x40057e[_0x140c21]['abandoned']=0x0;_0x40057e[_0x140c21][_0x8c5c('0x2a')]=0x0;_0x40057e[_0x140c21]['sumDuration']=0x0;_0x40057e[_0x140c21][_0x8c5c('0x2b')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x2c')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x2d')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x2e')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x2f')]=0x0;_0x40057e[_0x140c21]['outboundNoSuchCallsDay']=0x0;_0x40057e[_0x140c21]['outboundUnknownCallsDay']=0x0;_0x40057e[_0x140c21][_0x8c5c('0x30')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x31')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x32')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x33')]=0x0;_0x40057e[_0x140c21]['outboundRejectCallsDay']=0x0;_0x40057e[_0x140c21][_0x8c5c('0x34')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x2c')]=0x0;_0x40057e[_0x140c21][_0x8c5c('0x35')]=0x0;_0x40057e[_0x140c21]['queueStatusComplete']=!![];}}}}Realtime['prototype'][_0x8c5c('0x36')]=function(_0x5a8d42,_0x402404){for(var _0x184c34 in _0x402404){if(_0x5a8d42['hasOwnProperty'](_0x184c34)){_0x5a8d42[_0x184c34]=_0x402404[_0x184c34];}}};Realtime[_0x8c5c('0x37')][_0x8c5c('0x38')]=function(){var _0x15fddb=this;return function(_0x39d054){if(_0x39d054){freeIsNotKeyAgent(_0x39d054,_0x15fddb[_0x8c5c('0x39')]);for(var _0xc2c85c=0x0,_0x5e6f23={},_0x20bc66={};_0xc2c85c<_0x39d054[_0x8c5c('0x3a')];_0xc2c85c+=0x1){_0x5e6f23=_0x39d054[_0xc2c85c];var _0x161313=_[_0x8c5c('0x23')](_0x5e6f23[_0x8c5c('0x3b')])?util[_0x8c5c('0x1f')]('SIP/%s',_0x5e6f23[_0x8c5c('0x21')]):_0x5e6f23[_0x8c5c('0x3b')];if(_[_0x8c5c('0x3c')](_0x15fddb['agents'][_0x161313])){_0x15fddb[_0x8c5c('0x39')][_0x161313]=new Agent(_0x5e6f23);}else{_0x15fddb[_0x8c5c('0x36')](_0x15fddb[_0x8c5c('0x39')][_0x161313],_0x5e6f23);}}}return _0x15fddb[_0x8c5c('0x39')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x3d')]=function(){var _0x2d9273=this;return function(_0x91c4dd){if(_0x91c4dd){freeIsNotKeySip(_0x91c4dd,_0x2d9273[_0x8c5c('0x10')]);for(var _0x1098fb=0x0,_0x52c12b={},_0x163054={};_0x1098fb<_0x91c4dd[_0x8c5c('0x3a')];_0x1098fb+=0x1){_0x52c12b=_0x91c4dd[_0x1098fb];if(_[_0x8c5c('0x3c')](_0x2d9273[_0x8c5c('0x10')][util[_0x8c5c('0x1f')](_0x8c5c('0x20'),_0x52c12b['name'])])){_0x2d9273[_0x8c5c('0x10')][util[_0x8c5c('0x1f')]('SIP/%s',_0x52c12b[_0x8c5c('0x21')])]=new Telephone(_0x52c12b);}else{_0x2d9273['mergeFromDatabase'](_0x2d9273['telephones'][util[_0x8c5c('0x1f')](_0x8c5c('0x20'),_0x52c12b['name'])],_0x52c12b);}}}return _0x2d9273[_0x8c5c('0x10')];};};Realtime[_0x8c5c('0x37')]['initTrunks']=function(){var _0xbcc60c=this;return function(_0x3fa3f1){if(_0x3fa3f1){freeIsNotKeySip(_0x3fa3f1,_0xbcc60c[_0x8c5c('0x11')]);for(var _0x120182=0x0,_0x196fdc={},_0x834a33={};_0x120182<_0x3fa3f1[_0x8c5c('0x3a')];_0x120182+=0x1){_0x196fdc=_0x3fa3f1[_0x120182];if(_['isUndefined'](_0xbcc60c[_0x8c5c('0x11')][util[_0x8c5c('0x1f')](_0x8c5c('0x20'),_0x196fdc['name'])])){_0xbcc60c['trunks'][util[_0x8c5c('0x1f')](_0x8c5c('0x20'),_0x196fdc[_0x8c5c('0x21')])]=new Trunk(_0x196fdc);}else{_0xbcc60c['mergeFromDatabase'](_0xbcc60c[_0x8c5c('0x11')][util[_0x8c5c('0x1f')](_0x8c5c('0x20'),_0x196fdc['name'])],_0x196fdc);}}}return _0xbcc60c[_0x8c5c('0x11')];};};Realtime['prototype']['initVoiceQueues']=function(){var _0x238e24=this;return function(_0x5818a8){if(_0x5818a8){freeIsNotKey(_0x5818a8,_0x238e24[_0x8c5c('0x3e')],'name');for(var _0x3a7847=0x0,_0x1e00ba={},_0x31c52d={};_0x3a7847<_0x5818a8[_0x8c5c('0x3a')];_0x3a7847+=0x1){_0x1e00ba=_0x5818a8[_0x3a7847];if(_['isUndefined'](_0x238e24[_0x8c5c('0x3e')][_0x1e00ba['name']])){_0x238e24['voiceQueues'][_0x1e00ba['name']]=new VoiceQueue(_0x1e00ba);}else{_0x238e24[_0x8c5c('0x36')](_0x238e24[_0x8c5c('0x3e')][_0x1e00ba[_0x8c5c('0x21')]],_0x1e00ba);}}}return _0x238e24[_0x8c5c('0x3e')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x3f')]=function(){var _0x538bd9=this;return function(_0x44f33e){if(_0x44f33e){freeIsNotKey(_0x44f33e,_0x538bd9['triggers'],'id');for(var _0x222809=0x0,_0x3d2571={},_0x189938={};_0x222809<_0x44f33e[_0x8c5c('0x3a')];_0x222809+=0x1){_0x3d2571=_0x44f33e[_0x222809];if(_[_0x8c5c('0x3c')](_0x538bd9['triggers'][_0x3d2571['id']])){_0x538bd9[_0x8c5c('0x40')][_0x3d2571['id']]=new Trigger(_0x3d2571);}else{_0x538bd9[_0x8c5c('0x36')](_0x538bd9[_0x8c5c('0x40')][_0x3d2571['id']],_0x3d2571);}}}return _0x538bd9[_0x8c5c('0x40')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x41')]=function(){var _0x3ea922=this;return function(_0x173b8c){if(_0x173b8c){freeIsNotKey(_0x173b8c,_0x3ea922['templates'],'id');for(var _0x5f199f=0x0,_0x5d269d={},_0x338208={};_0x5f199f<_0x173b8c[_0x8c5c('0x3a')];_0x5f199f+=0x1){_0x5d269d=_0x173b8c[_0x5f199f];if(_[_0x8c5c('0x3c')](_0x3ea922['templates'][_0x5d269d['id']])){_0x3ea922[_0x8c5c('0x13')][_0x5d269d['id']]=new Template(_0x5d269d);}else{_0x3ea922[_0x8c5c('0x36')](_0x3ea922['templates'][_0x5d269d['id']],_0x5d269d);}}}return _0x3ea922[_0x8c5c('0x13')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x42')]=function(){var _0xae8f89=this;return function(_0x3fe87c){if(_0x3fe87c){freeIsNotKey(_0x3fe87c,_0xae8f89['zendeskAccounts'],'id');for(var _0xb1ef34=0x0,_0x141c60={},_0xdfb51d={};_0xb1ef34<_0x3fe87c[_0x8c5c('0x3a')];_0xb1ef34+=0x1){_0x141c60=_0x3fe87c[_0xb1ef34];if(_[_0x8c5c('0x3c')](_0xae8f89[_0x8c5c('0x17')][_0x141c60['id']])){_0xae8f89[_0x8c5c('0x17')][_0x141c60['id']]=new ZendeskAccount(_0x141c60);}else{_0xae8f89[_0x8c5c('0x36')](_0xae8f89[_0x8c5c('0x17')][_0x141c60['id']],_0x141c60);}}}return _0xae8f89[_0x8c5c('0x17')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x43')]=function(){var _0x354685=this;return function(_0x8a22df){if(_0x8a22df){freeIsNotKey(_0x8a22df,_0x354685[_0x8c5c('0x18')],'id');for(var _0x54a967=0x0,_0x321acf={},_0x51da3d={};_0x54a967<_0x8a22df[_0x8c5c('0x3a')];_0x54a967+=0x1){_0x321acf=_0x8a22df[_0x54a967];if(_[_0x8c5c('0x3c')](_0x354685['salesforceAccounts'][_0x321acf['id']])){_0x354685[_0x8c5c('0x18')][_0x321acf['id']]=new SalesforceAccount(_0x321acf);}else{_0x354685[_0x8c5c('0x36')](_0x354685[_0x8c5c('0x18')][_0x321acf['id']],_0x321acf);}}}return _0x354685[_0x8c5c('0x18')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x44')]=function(){var _0x11b2b1=this;return function(_0x3a689f){if(_0x3a689f){freeIsNotKey(_0x3a689f,_0x11b2b1['freshdeskAccounts'],'id');for(var _0x2d1050=0x0,_0x4ea6b4={},_0x23d412={};_0x2d1050<_0x3a689f[_0x8c5c('0x3a')];_0x2d1050+=0x1){_0x4ea6b4=_0x3a689f[_0x2d1050];if(_[_0x8c5c('0x3c')](_0x11b2b1[_0x8c5c('0x19')][_0x4ea6b4['id']])){_0x11b2b1['freshdeskAccounts'][_0x4ea6b4['id']]=new FreshdeskAccount(_0x4ea6b4);}else{_0x11b2b1[_0x8c5c('0x36')](_0x11b2b1[_0x8c5c('0x19')][_0x4ea6b4['id']],_0x4ea6b4);}}}return _0x11b2b1[_0x8c5c('0x19')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x45')]=function(){var _0x233347=this;return function(_0x4c531e){if(_0x4c531e){freeIsNotKey(_0x4c531e,_0x233347[_0x8c5c('0x1a')],'id');for(var _0x5e0bde=0x0,_0x5d5141={},_0x30c11d={};_0x5e0bde<_0x4c531e[_0x8c5c('0x3a')];_0x5e0bde+=0x1){_0x5d5141=_0x4c531e[_0x5e0bde];if(_[_0x8c5c('0x3c')](_0x233347[_0x8c5c('0x1a')][_0x5d5141['id']])){_0x233347[_0x8c5c('0x1a')][_0x5d5141['id']]=new ZohoAccount(_0x5d5141);}else{_0x233347[_0x8c5c('0x36')](_0x233347['zohoAccounts'][_0x5d5141['id']],_0x5d5141);}}}return _0x233347[_0x8c5c('0x1a')];};};Realtime['prototype'][_0x8c5c('0x46')]=function(){var _0x3a483e=this;return function(_0x283474){if(_0x283474){freeIsNotKey(_0x283474,_0x3a483e[_0x8c5c('0x47')],'id');for(var _0x1dab40=0x0,_0x4fdab7={},_0x522b3a={};_0x1dab40<_0x283474[_0x8c5c('0x3a')];_0x1dab40+=0x1){_0x4fdab7=_0x283474[_0x1dab40];if(_[_0x8c5c('0x3c')](_0x3a483e[_0x8c5c('0x47')][_0x4fdab7['id']])){_0x3a483e['deskAccounts'][_0x4fdab7['id']]=new DeskAccount(_0x4fdab7);}else{_0x3a483e['mergeFromDatabase'](_0x3a483e[_0x8c5c('0x47')][_0x4fdab7['id']],_0x4fdab7);}}}return _0x3a483e[_0x8c5c('0x47')];};};Realtime['prototype']['initSugarcrmAccounts']=function(){var _0x54b872=this;return function(_0x2dd1e3){if(_0x2dd1e3){freeIsNotKey(_0x2dd1e3,_0x54b872[_0x8c5c('0x48')],'id');for(var _0x218bb4=0x0,_0x2b6c24={},_0x5dcd19={};_0x218bb4<_0x2dd1e3['length'];_0x218bb4+=0x1){_0x2b6c24=_0x2dd1e3[_0x218bb4];if(_[_0x8c5c('0x3c')](_0x54b872[_0x8c5c('0x48')][_0x2b6c24['id']])){_0x54b872['sugarcrmAccounts'][_0x2b6c24['id']]=new SugarcrmAccount(_0x2b6c24);}else{_0x54b872[_0x8c5c('0x36')](_0x54b872[_0x8c5c('0x48')][_0x2b6c24['id']],_0x2b6c24);}}}return _0x54b872[_0x8c5c('0x48')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x49')]=function(){var _0x3701de=this;return function(_0x630905){if(_0x630905){freeIsNotKey(_0x630905,_0x3701de[_0x8c5c('0x4a')],'id');for(var _0x880686=0x0,_0x2e8420={},_0x3c27f4={};_0x880686<_0x630905[_0x8c5c('0x3a')];_0x880686+=0x1){_0x2e8420=_0x630905[_0x880686];if(_[_0x8c5c('0x3c')](_0x3701de[_0x8c5c('0x4a')][_0x2e8420['id']])){_0x3701de['vtigerAccounts'][_0x2e8420['id']]=new VtigerAccount(_0x2e8420);}else{_0x3701de['mergeFromDatabase'](_0x3701de[_0x8c5c('0x4a')][_0x2e8420['id']],_0x2e8420);}}}return _0x3701de[_0x8c5c('0x4a')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x4b')]=function(){var _0x3d13f2=this;return function(_0x305566){if(_0x305566){freeIsNotKey(_0x305566,_0x3d13f2['servicenowAccounts'],'id');for(var _0x2803be=0x0,_0x41cded={},_0x355952={};_0x2803be<_0x305566[_0x8c5c('0x3a')];_0x2803be+=0x1){_0x41cded=_0x305566[_0x2803be];if(_['isUndefined'](_0x3d13f2[_0x8c5c('0x1b')][_0x41cded['id']])){_0x3d13f2[_0x8c5c('0x1b')][_0x41cded['id']]=new ServicenowAccount(_0x41cded);}else{_0x3d13f2[_0x8c5c('0x36')](_0x3d13f2['servicenowAccounts'][_0x41cded['id']],_0x41cded);}}}return _0x3d13f2['servicenowAccounts'];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x4c')]=function(){var _0x482cfd=this;return function(_0x2ac4e7){if(_0x2ac4e7){freeIsNotKey(_0x2ac4e7,_0x482cfd[_0x8c5c('0x4d')],'id');for(var _0x29df6f=0x0,_0x47aaf0={},_0x1bc68d={};_0x29df6f<_0x2ac4e7['length'];_0x29df6f+=0x1){_0x47aaf0=_0x2ac4e7[_0x29df6f];if(_['isUndefined'](_0x482cfd[_0x8c5c('0x4d')][_0x47aaf0['id']])){_0x482cfd['dynamics365Accounts'][_0x47aaf0['id']]=new Dynamics365Account(_0x47aaf0);}else{_0x482cfd[_0x8c5c('0x36')](_0x482cfd[_0x8c5c('0x4d')][_0x47aaf0['id']],_0x47aaf0);}}}return _0x482cfd[_0x8c5c('0x4d')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x4e')]=function(){var _0x1af882=this;return function(_0x283577){if(_0x283577){freeIsNotKey(_0x283577,_0x1af882[_0x8c5c('0x1c')],'id');for(var _0x3098e0=0x0,_0x5a2483={},_0x10d926={};_0x3098e0<_0x283577[_0x8c5c('0x3a')];_0x3098e0+=0x1){_0x5a2483=_0x283577[_0x3098e0];if(_[_0x8c5c('0x3c')](_0x1af882[_0x8c5c('0x1c')][_0x5a2483['id']])){_0x1af882['freshsalesAccounts'][_0x5a2483['id']]=new FreshsalesAccount(_0x5a2483);}else{_0x1af882['mergeFromDatabase'](_0x1af882[_0x8c5c('0x1c')][_0x5a2483['id']],_0x5a2483);}}}return _0x1af882[_0x8c5c('0x1c')];};};Realtime['prototype'][_0x8c5c('0x4f')]=function(){var _0x307f8c=this;return function(_0x2ae638){for(var _0x5a851b=0x0;_0x5a851b<_0x2ae638['length'];_0x5a851b+=0x1){_['merge'](_0x307f8c[_0x8c5c('0x3e')][_0x2ae638[_0x5a851b][_0x8c5c('0x21')]],_0x2ae638[_0x5a851b]);}return _0x307f8c[_0x8c5c('0x3e')];};};Realtime['prototype']['initVoiceQueueReports']=function(){var _0xc0129a=this;return function(_0x3f4c05){clearVoiceQueues(_0xc0129a[_0x8c5c('0x3e')]);if(_0x3f4c05){_0x3f4c05=_['groupBy'](_0x3f4c05,_0x8c5c('0x50'));for(var _0xfd5319 in _0x3f4c05){if(_0x3f4c05['hasOwnProperty'](_0xfd5319)){var _0x193c42={};for(var _0x9eea0d=0x0;_0x9eea0d<_0x3f4c05[_0xfd5319][_0x8c5c('0x3a')];_0x9eea0d+=0x1){var _0x555682=_0x3f4c05[_0xfd5319][_0x9eea0d][_0x8c5c('0x51')];if(_0xc0129a[_0x8c5c('0x3e')][_0x555682]){if(_0x3f4c05[_0xfd5319][_0x9eea0d]['queuecallerexit']){_0xc0129a[_0x8c5c('0x3e')][_0x555682][_0x8c5c('0x29')]+=0x1;}if(_0x3f4c05[_0xfd5319][_0x9eea0d][_0x8c5c('0x52')]){_0xc0129a['voiceQueues'][_0x555682]['abandoned']+=0x1;}_0xc0129a['voiceQueues'][_0x555682][_0x8c5c('0x2a')]+=moment(_0x3f4c05[_0xfd5319][_0x9eea0d]['queuecallerleaveAt'])[_0x8c5c('0x53')](moment(_0x3f4c05[_0xfd5319][_0x9eea0d]['queuecallerjoinAt']),_0x8c5c('0x54'))||0x0;if(_0x9eea0d===_0x3f4c05[_0xfd5319][_0x8c5c('0x3a')]-0x1){_0xc0129a[_0x8c5c('0x3e')][_0x555682][_0x8c5c('0x55')]+=moment(_0x3f4c05[_0xfd5319][_0x9eea0d]['queuecallercompleteAt']||_0x3f4c05[_0xfd5319][_0x9eea0d][_0x8c5c('0x56')]||_0x3f4c05[_0xfd5319][_0x9eea0d]['queuecallerexitAt'])[_0x8c5c('0x53')](moment(_0x3f4c05[_0xfd5319][_0x9eea0d]['queuecallerjoinAt']),'seconds')||0x0;_0xc0129a['voiceQueues'][_0x555682][_0x8c5c('0x24')]+=0x1;if(_0x3f4c05[_0xfd5319][_0x9eea0d][_0x8c5c('0x57')]){_0xc0129a[_0x8c5c('0x3e')][_0x555682][_0x8c5c('0x25')]+=0x1;_0xc0129a[_0x8c5c('0x3e')][_0x555682]['sumBillable']+=moment(_0x3f4c05[_0xfd5319][_0x9eea0d][_0x8c5c('0x58')])[_0x8c5c('0x53')](moment(_0x3f4c05[_0xfd5319][_0x9eea0d][_0x8c5c('0x59')]),'seconds')||0x0;}}else{_0xc0129a[_0x8c5c('0x3e')][_0x555682][_0x8c5c('0x55')]+=_0xc0129a[_0x8c5c('0x3e')][_0x555682][_0x8c5c('0x2a')]||0x0;}}}}}}return _0xc0129a[_0x8c5c('0x3e')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x5a')]=function(){var _0x14f334=this;return function(_0x1bbb76){clearVoiceCallReports(_0x14f334[_0x8c5c('0x5b')]);if(_0x1bbb76){for(var _0x504825=0x0;_0x504825<_0x1bbb76[_0x8c5c('0x3a')];_0x504825+=0x1){_0x14f334[_0x8c5c('0x5b')][_0x8c5c('0x24')]+=0x1;_0x14f334['outbound'][_0x8c5c('0x55')]+=_0x1bbb76[_0x504825][_0x8c5c('0x5c')];if(_0x1bbb76[_0x504825]['disposition']===_0x8c5c('0x5d')){_0x14f334[_0x8c5c('0x5b')]['answered']+=0x1;_0x14f334[_0x8c5c('0x5b')][_0x8c5c('0x2a')]+=_0x1bbb76[_0x504825][_0x8c5c('0x5c')]-_0x1bbb76[_0x504825][_0x8c5c('0x5e')]||0x0;_0x14f334[_0x8c5c('0x5b')]['sumBillable']+=_0x1bbb76[_0x504825][_0x8c5c('0x5e')];}}}return _0x14f334[_0x8c5c('0x5b')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x5f')]=function(){var _0x2d6568=this;return function(_0xcf14bf){if(_0xcf14bf){freeIsNotKey(_0xcf14bf,_0x2d6568[_0x8c5c('0x12')],_0x8c5c('0x21'));for(var _0x3735d0=0x0,_0x468b11={};_0x3735d0<_0xcf14bf[_0x8c5c('0x3a')];_0x3735d0+=0x1){_0x468b11=_0xcf14bf[_0x3735d0];if(_['isUndefined'](_0x2d6568[_0x8c5c('0x12')][_0x468b11[_0x8c5c('0x21')]])){_0x2d6568['campaigns'][_0x468b11[_0x8c5c('0x21')]]=new Campaign(_0x468b11);}else{_0x2d6568['mergeFromDatabase'](_0x2d6568[_0x8c5c('0x12')][_0x468b11[_0x8c5c('0x21')]],_0x468b11);_0x2d6568[_0x8c5c('0x12')][_0x468b11['name']][_0x8c5c('0x60')]=_0x468b11['SquareProject']?_0x468b11[_0x8c5c('0x61')]['name']:undefined;}}}return _0x2d6568['campaigns'];};};Realtime['prototype'][_0x8c5c('0x62')]=function(){var _0x32e2ed=this;return function(_0x5800c4){if(_0x5800c4){freeIsNotKey(_0x5800c4,_0x32e2ed['voiceExtensions'],'id');for(var _0x56512f=0x0,_0x1ba8c8={};_0x56512f<_0x5800c4['length'];_0x56512f+=0x1){_0x1ba8c8=_0x5800c4[_0x56512f];if(_['isUndefined'](_0x32e2ed[_0x8c5c('0x63')][_0x1ba8c8['id']])){_0x32e2ed[_0x8c5c('0x63')][_0x1ba8c8['id']]=new VoiceExtension(_0x1ba8c8);}else{_0x32e2ed[_0x8c5c('0x36')](_0x32e2ed[_0x8c5c('0x63')][_0x1ba8c8['id']],_0x1ba8c8);}}}return _0x32e2ed[_0x8c5c('0x63')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x64')]=function(){var _0x1c0e37=this;return function(_0x2fb27d){clearCampaigns(_0x1c0e37[_0x8c5c('0x12')]);for(var _0x5c214d=0x0;_0x5c214d<_0x2fb27d[_0x8c5c('0x3a')];_0x5c214d+=0x1){_[_0x8c5c('0x65')](_0x1c0e37[_0x8c5c('0x12')][_0x2fb27d[_0x5c214d]['name']],_0x2fb27d[_0x5c214d]);}return _0x1c0e37[_0x8c5c('0x12')];};};Realtime[_0x8c5c('0x37')][_0x8c5c('0x66')]=function(){var _0x36faa2=this;return function(_0x4a1b3e){if(_0x4a1b3e){freeIsNotKey(_0x4a1b3e,_0x36faa2[_0x8c5c('0x1d')],'id');for(var _0x5c87f1=0x0,_0x242e23={},_0xf1daf1={};_0x5c87f1<_0x4a1b3e['length'];_0x5c87f1+=0x1){_0x242e23=_0x4a1b3e[_0x5c87f1];if(_[_0x8c5c('0x3c')](_0x36faa2[_0x8c5c('0x1d')][_0x242e23['id']])){_0x36faa2[_0x8c5c('0x1d')][_0x242e23['id']]=new FaxAccount(_0x242e23);}else{_0x36faa2[_0x8c5c('0x36')](_0x36faa2[_0x8c5c('0x1d')][_0x242e23['id']],_0x242e23);}}}return _0x36faa2[_0x8c5c('0x1d')];};};module['exports']=Realtime;