Built motion from commit (unavailable).|2.6.0
[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 _0x8d0e=['voiceQueues','isUndefined','initTriggers','initTemplates','initZendeskAccounts','salesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initFreshsalesAccounts','freshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallercomplete','duration','disposition','ANSWERED','billableseconds','initCampaigns','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','triggers','campaigns','templates','outbound','voiceExtensions','channels','outboundChannels','timers','zendeskAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','hasOwnProperty','mapKeys','interface','format','name','total','answered','sumHoldTime','sumDuration','sumBillable','ivrTotalCallsDays','isEmpty','unmanaged','abandoned','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayCallersExit','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','length','isNil','SIP/%s','initTelephones','initTrunks','trunks','initVoiceQueues'];(function(_0x29e91f,_0x19746f){var _0x96024=function(_0xf8d562){while(--_0xf8d562){_0x29e91f['push'](_0x29e91f['shift']());}};_0x96024(++_0x19746f);}(_0x8d0e,0x1d7));var _0xe8d0=function(_0xa57c8b,_0x4ca18b){_0xa57c8b=_0xa57c8b-0x0;var _0x1c0eab=_0x8d0e[_0xa57c8b];return _0x1c0eab;};'use strict';var BPromise=require(_0xe8d0('0x0'));var util=require(_0xe8d0('0x1'));var _=require(_0xe8d0('0x2'));var moment=require(_0xe8d0('0x3'));var Agent=require(_0xe8d0('0x4'));var Telephone=require(_0xe8d0('0x5'));var Trunk=require(_0xe8d0('0x6'));var VoiceQueue=require(_0xe8d0('0x7'));var Trigger=require(_0xe8d0('0x8'));var Template=require('../model/template');var Campaign=require(_0xe8d0('0x9'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0xe8d0('0xa'));var FreshdeskAccount=require(_0xe8d0('0xb'));var SugarcrmAccount=require(_0xe8d0('0xc'));var ZohoAccount=require(_0xe8d0('0xd'));var DeskAccount=require(_0xe8d0('0xe'));var VtigerAccount=require(_0xe8d0('0xf'));var ServicenowAccount=require(_0xe8d0('0x10'));var Dynamics365Account=require(_0xe8d0('0x11'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0xe8d0('0x12'));var Realtime=function(){this[_0xe8d0('0x13')]={};this[_0xe8d0('0x14')]={};this['trunks']={};this['voiceQueues']={};this[_0xe8d0('0x15')]={};this[_0xe8d0('0x16')]={};this[_0xe8d0('0x17')]={};this[_0xe8d0('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xe8d0('0x19')]={};this[_0xe8d0('0x1a')]={};this['queueChannels']={};this[_0xe8d0('0x1b')]={};this[_0xe8d0('0x1c')]={};this['settings']={};this[_0xe8d0('0x1d')]={};this['salesforceAccounts']={};this['sugarcrmAccounts']={};this[_0xe8d0('0x1e')]={};this[_0xe8d0('0x1f')]={};this[_0xe8d0('0x20')]={};this[_0xe8d0('0x21')]={};this[_0xe8d0('0x22')]={};this[_0xe8d0('0x23')]={};this['freshsalesAccounts']={};this[_0xe8d0('0x24')]={};};function freeIsNotKey(_0x49554d,_0x6d932b,_0x3c526c){var _0xfe8a4=_['mapKeys'](_0x49554d,function(_0x4d0ddb,_0x47c67a){return _0x4d0ddb[_0x3c526c];});for(var _0x1bdd94 in _0x6d932b){if(_0x6d932b[_0xe8d0('0x25')](_0x1bdd94)){if(!_0xfe8a4[_0x1bdd94]){delete _0x6d932b[_0x1bdd94];}}}}function freeIsNotKeySip(_0x27b910,_0x44bbe4){var _0x83177b=_['mapKeys'](_0x27b910,function(_0x105861,_0x12ebf4){return util['format']('SIP/%s',_0x105861['name']);});for(var _0x384a60 in _0x44bbe4){if(_0x44bbe4[_0xe8d0('0x25')](_0x384a60)){if(!_0x83177b[_0x384a60]){delete _0x44bbe4[_0x384a60];}}}}function freeIsNotKeyAgent(_0x25363b,_0x1fbfe8){var _0x25f764=_[_0xe8d0('0x26')](_0x25363b,function(_0x1bd25c,_0x28a6b5){var _0x32e39a=_['isNil'](_0x1bd25c[_0xe8d0('0x27')])?util[_0xe8d0('0x28')]('SIP/%s',_0x1bd25c[_0xe8d0('0x29')]):_0x1bd25c[_0xe8d0('0x27')];return _0x32e39a;});for(var _0x274cac in _0x1fbfe8){if(_0x1fbfe8[_0xe8d0('0x25')](_0x274cac)){if(!_0x25f764[_0x274cac]){delete _0x1fbfe8[_0x274cac];}}}}function clearVoiceCallReports(_0x146783){_0x146783[_0xe8d0('0x2a')]=0x0;_0x146783[_0xe8d0('0x2b')]=0x0;_0x146783[_0xe8d0('0x2c')]=0x0;_0x146783[_0xe8d0('0x2d')]=0x0;_0x146783[_0xe8d0('0x2e')]=0x0;}function clearCampaigns(_0x264de4){if(!_['isEmpty'](_0x264de4)){for(var _0x24982c in _0x264de4){if(_0x264de4[_0xe8d0('0x25')](_0x24982c)){_0x264de4[_0x24982c][_0xe8d0('0x2f')]=0x0;_0x264de4[_0x24982c]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x10a30b){if(!_[_0xe8d0('0x30')](_0x10a30b)){for(var _0x526240 in _0x10a30b){if(_0x10a30b[_0xe8d0('0x25')](_0x526240)){_0x10a30b[_0x526240][_0xe8d0('0x2a')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x2b')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x31')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x32')]=0x0;_0x10a30b[_0x526240]['sumHoldTime']=0x0;_0x10a30b[_0x526240][_0xe8d0('0x2d')]=0x0;_0x10a30b[_0x526240]['sumBillable']=0x0;_0x10a30b[_0x526240]['outboundAnswerAgiCallsDay']=0x0;_0x10a30b[_0x526240]['outboundNoAnswerCallsDay']=0x0;_0x10a30b[_0x526240][_0xe8d0('0x33')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x34')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x35')]=0x0;_0x10a30b[_0x526240]['outboundUnknownCallsDay']=0x0;_0x10a30b[_0x526240]['outboundDropCallsDayTimeout']=0x0;_0x10a30b[_0x526240][_0xe8d0('0x36')]=0x0;_0x10a30b[_0x526240]['outboundBlacklistCallsDay']=0x0;_0x10a30b[_0x526240][_0xe8d0('0x37')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x38')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x39')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x3a')]=0x0;_0x10a30b[_0x526240][_0xe8d0('0x3b')]=0x0;_0x10a30b[_0x526240]['queueStatusComplete']=!![];}}}}Realtime[_0xe8d0('0x3c')][_0xe8d0('0x3d')]=function(_0x402e90,_0x145ddb){for(var _0x587819 in _0x145ddb){if(_0x402e90[_0xe8d0('0x25')](_0x587819)){_0x402e90[_0x587819]=_0x145ddb[_0x587819];}}};Realtime[_0xe8d0('0x3c')]['initAgents']=function(){var _0x42c31f=this;return function(_0x51be84){if(_0x51be84){freeIsNotKeyAgent(_0x51be84,_0x42c31f[_0xe8d0('0x13')]);for(var _0x5dc4ca=0x0,_0x197e01={},_0x531835={};_0x5dc4ca<_0x51be84[_0xe8d0('0x3e')];_0x5dc4ca+=0x1){_0x197e01=_0x51be84[_0x5dc4ca];var _0xb2cdbf=_[_0xe8d0('0x3f')](_0x197e01[_0xe8d0('0x27')])?util['format'](_0xe8d0('0x40'),_0x197e01[_0xe8d0('0x29')]):_0x197e01[_0xe8d0('0x27')];if(_['isUndefined'](_0x42c31f[_0xe8d0('0x13')][_0xb2cdbf])){_0x42c31f[_0xe8d0('0x13')][_0xb2cdbf]=new Agent(_0x197e01);}else{_0x42c31f[_0xe8d0('0x3d')](_0x42c31f[_0xe8d0('0x13')][_0xb2cdbf],_0x197e01);}}}return _0x42c31f[_0xe8d0('0x13')];};};Realtime['prototype'][_0xe8d0('0x41')]=function(){var _0x1828c5=this;return function(_0x10970d){if(_0x10970d){freeIsNotKeySip(_0x10970d,_0x1828c5[_0xe8d0('0x14')]);for(var _0x318106=0x0,_0x23d72e={},_0xbb9620={};_0x318106<_0x10970d[_0xe8d0('0x3e')];_0x318106+=0x1){_0x23d72e=_0x10970d[_0x318106];if(_['isUndefined'](_0x1828c5['telephones'][util[_0xe8d0('0x28')](_0xe8d0('0x40'),_0x23d72e[_0xe8d0('0x29')])])){_0x1828c5[_0xe8d0('0x14')][util[_0xe8d0('0x28')]('SIP/%s',_0x23d72e[_0xe8d0('0x29')])]=new Telephone(_0x23d72e);}else{_0x1828c5['mergeFromDatabase'](_0x1828c5[_0xe8d0('0x14')][util[_0xe8d0('0x28')](_0xe8d0('0x40'),_0x23d72e['name'])],_0x23d72e);}}}return _0x1828c5[_0xe8d0('0x14')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x42')]=function(){var _0x230a90=this;return function(_0x87ac2e){if(_0x87ac2e){freeIsNotKeySip(_0x87ac2e,_0x230a90['trunks']);for(var _0x5ca42a=0x0,_0x57de98={},_0x4cf0da={};_0x5ca42a<_0x87ac2e[_0xe8d0('0x3e')];_0x5ca42a+=0x1){_0x57de98=_0x87ac2e[_0x5ca42a];if(_['isUndefined'](_0x230a90[_0xe8d0('0x43')][util[_0xe8d0('0x28')](_0xe8d0('0x40'),_0x57de98[_0xe8d0('0x29')])])){_0x230a90[_0xe8d0('0x43')][util[_0xe8d0('0x28')](_0xe8d0('0x40'),_0x57de98[_0xe8d0('0x29')])]=new Trunk(_0x57de98);}else{_0x230a90['mergeFromDatabase'](_0x230a90[_0xe8d0('0x43')][util[_0xe8d0('0x28')]('SIP/%s',_0x57de98['name'])],_0x57de98);}}}return _0x230a90[_0xe8d0('0x43')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x44')]=function(){var _0x481e99=this;return function(_0x1eb1f1){if(_0x1eb1f1){freeIsNotKey(_0x1eb1f1,_0x481e99[_0xe8d0('0x45')],'name');for(var _0x19731d=0x0,_0x415046={},_0x5370c9={};_0x19731d<_0x1eb1f1[_0xe8d0('0x3e')];_0x19731d+=0x1){_0x415046=_0x1eb1f1[_0x19731d];if(_[_0xe8d0('0x46')](_0x481e99[_0xe8d0('0x45')][_0x415046[_0xe8d0('0x29')]])){_0x481e99[_0xe8d0('0x45')][_0x415046[_0xe8d0('0x29')]]=new VoiceQueue(_0x415046);}else{_0x481e99[_0xe8d0('0x3d')](_0x481e99[_0xe8d0('0x45')][_0x415046['name']],_0x415046);}}}return _0x481e99[_0xe8d0('0x45')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x47')]=function(){var _0x2278ef=this;return function(_0x28d38b){if(_0x28d38b){freeIsNotKey(_0x28d38b,_0x2278ef[_0xe8d0('0x15')],'id');for(var _0x1d0875=0x0,_0x41b8af={},_0x250f51={};_0x1d0875<_0x28d38b[_0xe8d0('0x3e')];_0x1d0875+=0x1){_0x41b8af=_0x28d38b[_0x1d0875];if(_[_0xe8d0('0x46')](_0x2278ef[_0xe8d0('0x15')][_0x41b8af['id']])){_0x2278ef['triggers'][_0x41b8af['id']]=new Trigger(_0x41b8af);}else{_0x2278ef[_0xe8d0('0x3d')](_0x2278ef[_0xe8d0('0x15')][_0x41b8af['id']],_0x41b8af);}}}return _0x2278ef[_0xe8d0('0x15')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x48')]=function(){var _0x2e4caf=this;return function(_0x5a0c7e){if(_0x5a0c7e){freeIsNotKey(_0x5a0c7e,_0x2e4caf['templates'],'id');for(var _0x12324a=0x0,_0x424764={},_0x151cf4={};_0x12324a<_0x5a0c7e[_0xe8d0('0x3e')];_0x12324a+=0x1){_0x424764=_0x5a0c7e[_0x12324a];if(_['isUndefined'](_0x2e4caf[_0xe8d0('0x17')][_0x424764['id']])){_0x2e4caf['templates'][_0x424764['id']]=new Template(_0x424764);}else{_0x2e4caf[_0xe8d0('0x3d')](_0x2e4caf[_0xe8d0('0x17')][_0x424764['id']],_0x424764);}}}return _0x2e4caf[_0xe8d0('0x17')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x49')]=function(){var _0x34efb0=this;return function(_0x1646fb){if(_0x1646fb){freeIsNotKey(_0x1646fb,_0x34efb0['zendeskAccounts'],'id');for(var _0x137bc3=0x0,_0x55f93d={},_0x581a34={};_0x137bc3<_0x1646fb[_0xe8d0('0x3e')];_0x137bc3+=0x1){_0x55f93d=_0x1646fb[_0x137bc3];if(_['isUndefined'](_0x34efb0[_0xe8d0('0x1d')][_0x55f93d['id']])){_0x34efb0['zendeskAccounts'][_0x55f93d['id']]=new ZendeskAccount(_0x55f93d);}else{_0x34efb0[_0xe8d0('0x3d')](_0x34efb0[_0xe8d0('0x1d')][_0x55f93d['id']],_0x55f93d);}}}return _0x34efb0[_0xe8d0('0x1d')];};};Realtime[_0xe8d0('0x3c')]['initSalesforceAccounts']=function(){var _0x3088b1=this;return function(_0xbd55db){if(_0xbd55db){freeIsNotKey(_0xbd55db,_0x3088b1[_0xe8d0('0x4a')],'id');for(var _0x2e3f1d=0x0,_0x18cc14={},_0x57b77a={};_0x2e3f1d<_0xbd55db[_0xe8d0('0x3e')];_0x2e3f1d+=0x1){_0x18cc14=_0xbd55db[_0x2e3f1d];if(_[_0xe8d0('0x46')](_0x3088b1[_0xe8d0('0x4a')][_0x18cc14['id']])){_0x3088b1['salesforceAccounts'][_0x18cc14['id']]=new SalesforceAccount(_0x18cc14);}else{_0x3088b1[_0xe8d0('0x3d')](_0x3088b1['salesforceAccounts'][_0x18cc14['id']],_0x18cc14);}}}return _0x3088b1['salesforceAccounts'];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x4b')]=function(){var _0x4e7b49=this;return function(_0xcb6ce2){if(_0xcb6ce2){freeIsNotKey(_0xcb6ce2,_0x4e7b49[_0xe8d0('0x1e')],'id');for(var _0x47893d=0x0,_0x2a54c1={},_0xe67928={};_0x47893d<_0xcb6ce2[_0xe8d0('0x3e')];_0x47893d+=0x1){_0x2a54c1=_0xcb6ce2[_0x47893d];if(_[_0xe8d0('0x46')](_0x4e7b49['freshdeskAccounts'][_0x2a54c1['id']])){_0x4e7b49[_0xe8d0('0x1e')][_0x2a54c1['id']]=new FreshdeskAccount(_0x2a54c1);}else{_0x4e7b49[_0xe8d0('0x3d')](_0x4e7b49[_0xe8d0('0x1e')][_0x2a54c1['id']],_0x2a54c1);}}}return _0x4e7b49[_0xe8d0('0x1e')];};};Realtime['prototype'][_0xe8d0('0x4c')]=function(){var _0x677679=this;return function(_0x17c044){if(_0x17c044){freeIsNotKey(_0x17c044,_0x677679[_0xe8d0('0x1f')],'id');for(var _0x1a74d0=0x0,_0x29667c={},_0x595b24={};_0x1a74d0<_0x17c044['length'];_0x1a74d0+=0x1){_0x29667c=_0x17c044[_0x1a74d0];if(_[_0xe8d0('0x46')](_0x677679['zohoAccounts'][_0x29667c['id']])){_0x677679[_0xe8d0('0x1f')][_0x29667c['id']]=new ZohoAccount(_0x29667c);}else{_0x677679[_0xe8d0('0x3d')](_0x677679['zohoAccounts'][_0x29667c['id']],_0x29667c);}}}return _0x677679['zohoAccounts'];};};Realtime[_0xe8d0('0x3c')]['initDeskAccounts']=function(){var _0x26af63=this;return function(_0x4c458a){if(_0x4c458a){freeIsNotKey(_0x4c458a,_0x26af63[_0xe8d0('0x20')],'id');for(var _0x2c765d=0x0,_0x13b9f0={},_0x4e2abc={};_0x2c765d<_0x4c458a[_0xe8d0('0x3e')];_0x2c765d+=0x1){_0x13b9f0=_0x4c458a[_0x2c765d];if(_[_0xe8d0('0x46')](_0x26af63['deskAccounts'][_0x13b9f0['id']])){_0x26af63[_0xe8d0('0x20')][_0x13b9f0['id']]=new DeskAccount(_0x13b9f0);}else{_0x26af63['mergeFromDatabase'](_0x26af63[_0xe8d0('0x20')][_0x13b9f0['id']],_0x13b9f0);}}}return _0x26af63['deskAccounts'];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x4d')]=function(){var _0x29467d=this;return function(_0x30817f){if(_0x30817f){freeIsNotKey(_0x30817f,_0x29467d[_0xe8d0('0x4e')],'id');for(var _0x4b271e=0x0,_0x4ee750={},_0xd7d433={};_0x4b271e<_0x30817f['length'];_0x4b271e+=0x1){_0x4ee750=_0x30817f[_0x4b271e];if(_[_0xe8d0('0x46')](_0x29467d[_0xe8d0('0x4e')][_0x4ee750['id']])){_0x29467d[_0xe8d0('0x4e')][_0x4ee750['id']]=new SugarcrmAccount(_0x4ee750);}else{_0x29467d[_0xe8d0('0x3d')](_0x29467d[_0xe8d0('0x4e')][_0x4ee750['id']],_0x4ee750);}}}return _0x29467d[_0xe8d0('0x4e')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x4f')]=function(){var _0x7557d9=this;return function(_0x2fc8bd){if(_0x2fc8bd){freeIsNotKey(_0x2fc8bd,_0x7557d9[_0xe8d0('0x21')],'id');for(var _0x29a7b3=0x0,_0x3258c8={},_0x1c41d8={};_0x29a7b3<_0x2fc8bd[_0xe8d0('0x3e')];_0x29a7b3+=0x1){_0x3258c8=_0x2fc8bd[_0x29a7b3];if(_['isUndefined'](_0x7557d9[_0xe8d0('0x21')][_0x3258c8['id']])){_0x7557d9[_0xe8d0('0x21')][_0x3258c8['id']]=new VtigerAccount(_0x3258c8);}else{_0x7557d9[_0xe8d0('0x3d')](_0x7557d9[_0xe8d0('0x21')][_0x3258c8['id']],_0x3258c8);}}}return _0x7557d9[_0xe8d0('0x21')];};};Realtime['prototype'][_0xe8d0('0x50')]=function(){var _0x1d30c0=this;return function(_0x45b42b){if(_0x45b42b){freeIsNotKey(_0x45b42b,_0x1d30c0[_0xe8d0('0x22')],'id');for(var _0x360633=0x0,_0xa215f={},_0x51eb0b={};_0x360633<_0x45b42b[_0xe8d0('0x3e')];_0x360633+=0x1){_0xa215f=_0x45b42b[_0x360633];if(_[_0xe8d0('0x46')](_0x1d30c0[_0xe8d0('0x22')][_0xa215f['id']])){_0x1d30c0[_0xe8d0('0x22')][_0xa215f['id']]=new ServicenowAccount(_0xa215f);}else{_0x1d30c0[_0xe8d0('0x3d')](_0x1d30c0['servicenowAccounts'][_0xa215f['id']],_0xa215f);}}}return _0x1d30c0['servicenowAccounts'];};};Realtime[_0xe8d0('0x3c')]['initDynamics365Accounts']=function(){var _0x169047=this;return function(_0x209263){if(_0x209263){freeIsNotKey(_0x209263,_0x169047['dynamics365Accounts'],'id');for(var _0x16a989=0x0,_0x1e3d33={},_0x243c09={};_0x16a989<_0x209263[_0xe8d0('0x3e')];_0x16a989+=0x1){_0x1e3d33=_0x209263[_0x16a989];if(_[_0xe8d0('0x46')](_0x169047[_0xe8d0('0x23')][_0x1e3d33['id']])){_0x169047[_0xe8d0('0x23')][_0x1e3d33['id']]=new Dynamics365Account(_0x1e3d33);}else{_0x169047[_0xe8d0('0x3d')](_0x169047[_0xe8d0('0x23')][_0x1e3d33['id']],_0x1e3d33);}}}return _0x169047[_0xe8d0('0x23')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x51')]=function(){var _0xa0c61a=this;return function(_0x2147d5){if(_0x2147d5){freeIsNotKey(_0x2147d5,_0xa0c61a[_0xe8d0('0x52')],'id');for(var _0x391510=0x0,_0xffd884={},_0x33e3ee={};_0x391510<_0x2147d5[_0xe8d0('0x3e')];_0x391510+=0x1){_0xffd884=_0x2147d5[_0x391510];if(_['isUndefined'](_0xa0c61a[_0xe8d0('0x52')][_0xffd884['id']])){_0xa0c61a[_0xe8d0('0x52')][_0xffd884['id']]=new FreshsalesAccount(_0xffd884);}else{_0xa0c61a[_0xe8d0('0x3d')](_0xa0c61a['freshsalesAccounts'][_0xffd884['id']],_0xffd884);}}}return _0xa0c61a[_0xe8d0('0x52')];};};Realtime['prototype'][_0xe8d0('0x53')]=function(){var _0x1c1794=this;return function(_0x22791b){for(var _0x561eb3=0x0;_0x561eb3<_0x22791b[_0xe8d0('0x3e')];_0x561eb3+=0x1){_[_0xe8d0('0x54')](_0x1c1794[_0xe8d0('0x45')][_0x22791b[_0x561eb3][_0xe8d0('0x29')]],_0x22791b[_0x561eb3]);}return _0x1c1794[_0xe8d0('0x45')];};};Realtime['prototype'][_0xe8d0('0x55')]=function(){var _0xbd7ee=this;return function(_0x23ba49){clearVoiceQueues(_0xbd7ee[_0xe8d0('0x45')]);if(_0x23ba49){_0x23ba49=_[_0xe8d0('0x56')](_0x23ba49,_0xe8d0('0x57'));for(var _0x16818f in _0x23ba49){if(_0x23ba49[_0xe8d0('0x25')](_0x16818f)){var _0x5334ee={};for(var _0x20a18b=0x0;_0x20a18b<_0x23ba49[_0x16818f][_0xe8d0('0x3e')];_0x20a18b+=0x1){var _0x14d722=_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x58')];if(_0xbd7ee['voiceQueues'][_0x14d722]){if(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x59')]){_0xbd7ee[_0xe8d0('0x45')][_0x14d722][_0xe8d0('0x31')]+=0x1;}if(_0x23ba49[_0x16818f][_0x20a18b]['queuecallerabandon']){_0xbd7ee[_0xe8d0('0x45')][_0x14d722]['abandoned']+=0x1;}_0xbd7ee[_0xe8d0('0x45')][_0x14d722]['sumHoldTime']+=moment(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x5a')])[_0xe8d0('0x5b')](moment(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x5c')]),_0xe8d0('0x5d'))||0x0;if(_0x20a18b===_0x23ba49[_0x16818f][_0xe8d0('0x3e')]-0x1){_0xbd7ee[_0xe8d0('0x45')][_0x14d722][_0xe8d0('0x2d')]+=moment(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x5e')]||_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x5f')]||_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x60')])[_0xe8d0('0x5b')](moment(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x5c')]),'seconds')||0x0;_0xbd7ee[_0xe8d0('0x45')][_0x14d722][_0xe8d0('0x2a')]+=0x1;if(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x61')]){_0xbd7ee[_0xe8d0('0x45')][_0x14d722][_0xe8d0('0x2b')]+=0x1;_0xbd7ee[_0xe8d0('0x45')][_0x14d722][_0xe8d0('0x2e')]+=moment(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x5e')])[_0xe8d0('0x5b')](moment(_0x23ba49[_0x16818f][_0x20a18b][_0xe8d0('0x5a')]),'seconds')||0x0;}}else{_0xbd7ee[_0xe8d0('0x45')][_0x14d722][_0xe8d0('0x2d')]+=_0xbd7ee[_0xe8d0('0x45')][_0x14d722][_0xe8d0('0x2c')]||0x0;}}}}}}return _0xbd7ee[_0xe8d0('0x45')];};};Realtime['prototype']['initVoiceCallReports']=function(){var _0xca752a=this;return function(_0x5c8c7d){clearVoiceCallReports(_0xca752a[_0xe8d0('0x18')]);if(_0x5c8c7d){for(var _0x16098b=0x0;_0x16098b<_0x5c8c7d[_0xe8d0('0x3e')];_0x16098b+=0x1){_0xca752a['outbound'][_0xe8d0('0x2a')]+=0x1;_0xca752a['outbound'][_0xe8d0('0x2d')]+=_0x5c8c7d[_0x16098b][_0xe8d0('0x62')];if(_0x5c8c7d[_0x16098b][_0xe8d0('0x63')]===_0xe8d0('0x64')){_0xca752a[_0xe8d0('0x18')]['answered']+=0x1;_0xca752a['outbound'][_0xe8d0('0x2c')]+=_0x5c8c7d[_0x16098b][_0xe8d0('0x62')]-_0x5c8c7d[_0x16098b][_0xe8d0('0x65')]||0x0;_0xca752a[_0xe8d0('0x18')][_0xe8d0('0x2e')]+=_0x5c8c7d[_0x16098b][_0xe8d0('0x65')];}}}return _0xca752a[_0xe8d0('0x18')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x66')]=function(){var _0x590397=this;return function(_0x35e14f){if(_0x35e14f){freeIsNotKey(_0x35e14f,_0x590397[_0xe8d0('0x16')],_0xe8d0('0x29'));for(var _0x2f199b=0x0,_0x4a568f={};_0x2f199b<_0x35e14f['length'];_0x2f199b+=0x1){_0x4a568f=_0x35e14f[_0x2f199b];if(_[_0xe8d0('0x46')](_0x590397[_0xe8d0('0x16')][_0x4a568f[_0xe8d0('0x29')]])){_0x590397[_0xe8d0('0x16')][_0x4a568f[_0xe8d0('0x29')]]=new Campaign(_0x4a568f);}else{_0x590397[_0xe8d0('0x3d')](_0x590397[_0xe8d0('0x16')][_0x4a568f[_0xe8d0('0x29')]],_0x4a568f);_0x590397[_0xe8d0('0x16')][_0x4a568f[_0xe8d0('0x29')]]['dialQueueProject']=_0x4a568f[_0xe8d0('0x67')]?_0x4a568f[_0xe8d0('0x67')][_0xe8d0('0x29')]:undefined;}}}return _0x590397[_0xe8d0('0x16')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x68')]=function(){var _0xe674e2=this;return function(_0x1b1bd3){if(_0x1b1bd3){freeIsNotKey(_0x1b1bd3,_0xe674e2[_0xe8d0('0x19')],'id');for(var _0x47bdc2=0x0,_0x52aece={};_0x47bdc2<_0x1b1bd3[_0xe8d0('0x3e')];_0x47bdc2+=0x1){_0x52aece=_0x1b1bd3[_0x47bdc2];if(_[_0xe8d0('0x46')](_0xe674e2['voiceExtensions'][_0x52aece['id']])){_0xe674e2[_0xe8d0('0x19')][_0x52aece['id']]=new VoiceExtension(_0x52aece);}else{_0xe674e2[_0xe8d0('0x3d')](_0xe674e2[_0xe8d0('0x19')][_0x52aece['id']],_0x52aece);}}}return _0xe674e2['voiceExtensions'];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x69')]=function(){var _0x233a5a=this;return function(_0x2746db){clearCampaigns(_0x233a5a['campaigns']);for(var _0x51b0b3=0x0;_0x51b0b3<_0x2746db[_0xe8d0('0x3e')];_0x51b0b3+=0x1){_[_0xe8d0('0x54')](_0x233a5a['campaigns'][_0x2746db[_0x51b0b3]['name']],_0x2746db[_0x51b0b3]);}return _0x233a5a[_0xe8d0('0x16')];};};Realtime[_0xe8d0('0x3c')][_0xe8d0('0x6a')]=function(){var _0x5eaf13=this;return function(_0x1ffd29){if(_0x1ffd29){freeIsNotKey(_0x1ffd29,_0x5eaf13['faxAccounts'],'id');for(var _0x4bd847=0x0,_0x44a4bd={},_0x3fd5d1={};_0x4bd847<_0x1ffd29[_0xe8d0('0x3e')];_0x4bd847+=0x1){_0x44a4bd=_0x1ffd29[_0x4bd847];if(_[_0xe8d0('0x46')](_0x5eaf13[_0xe8d0('0x24')][_0x44a4bd['id']])){_0x5eaf13['faxAccounts'][_0x44a4bd['id']]=new FaxAccount(_0x44a4bd);}else{_0x5eaf13[_0xe8d0('0x3d')](_0x5eaf13[_0xe8d0('0x24')][_0x44a4bd['id']],_0x44a4bd);}}}return _0x5eaf13['faxAccounts'];};};module[_0xe8d0('0x6b')]=Realtime;