Built motion from commit 85328c08.|2.5.50
[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 _0x203e=['dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','faxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','triggers','outbound','voiceExtensions','queueChannels','settings','zendeskAccounts','salesforceAccounts','freshdeskAccounts','zohoAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','mapKeys','format','SIP/%s','isNil','interface','name','hasOwnProperty','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','total','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','length','isUndefined','initTrunks','trunks','initVoiceQueues','voiceQueues','initTriggers','initTemplates','templates','initZendeskAccounts','initSalesforceAccounts','initDeskAccounts','deskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','merge','groupBy','uniqueid','queue','queuecallerexit','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallerabandonAt','queuecallerexitAt','queuecallercomplete','queuecallercompleteAt','duration','disposition','billableseconds','campaigns'];(function(_0x8398a9,_0x510eef){var _0x175a1e=function(_0x187466){while(--_0x187466){_0x8398a9['push'](_0x8398a9['shift']());}};_0x175a1e(++_0x510eef);}(_0x203e,0x147));var _0xe203=function(_0x555877,_0x2e6ed){_0x555877=_0x555877-0x0;var _0x5a3b78=_0x203e[_0x555877];return _0x5a3b78;};'use strict';var BPromise=require(_0xe203('0x0'));var util=require(_0xe203('0x1'));var _=require(_0xe203('0x2'));var moment=require(_0xe203('0x3'));var Agent=require(_0xe203('0x4'));var Telephone=require(_0xe203('0x5'));var Trunk=require(_0xe203('0x6'));var VoiceQueue=require(_0xe203('0x7'));var Trigger=require(_0xe203('0x8'));var Template=require(_0xe203('0x9'));var Campaign=require('../model/campaign');var VoiceExtension=require(_0xe203('0xa'));var ZendeskAccount=require(_0xe203('0xb'));var SalesforceAccount=require(_0xe203('0xc'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0xe203('0xd'));var ZohoAccount=require(_0xe203('0xe'));var DeskAccount=require(_0xe203('0xf'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0xe203('0x10'));var Dynamics365Account=require(_0xe203('0x11'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0xe203('0x12'));var Realtime=function(){this[_0xe203('0x13')]={};this[_0xe203('0x14')]={};this['trunks']={};this['voiceQueues']={};this[_0xe203('0x15')]={};this['campaigns']={};this['templates']={};this[_0xe203('0x16')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xe203('0x17')]={};this['channels']={};this[_0xe203('0x18')]={};this['outboundChannels']={};this['timers']={};this[_0xe203('0x19')]={};this[_0xe203('0x1a')]={};this[_0xe203('0x1b')]={};this['sugarcrmAccounts']={};this[_0xe203('0x1c')]={};this[_0xe203('0x1d')]={};this['deskAccounts']={};this[_0xe203('0x1e')]={};this[_0xe203('0x1f')]={};this[_0xe203('0x20')]={};this[_0xe203('0x21')]={};this['faxAccounts']={};};function freeIsNotKey(_0x336394,_0x166132,_0x50491b){var _0x3096a1=_[_0xe203('0x22')](_0x336394,function(_0x5a4219,_0x3901c9){return _0x5a4219[_0x50491b];});for(var _0x3f08c1 in _0x166132){if(_0x166132['hasOwnProperty'](_0x3f08c1)){if(!_0x3096a1[_0x3f08c1]){delete _0x166132[_0x3f08c1];}}}}function freeIsNotKeySip(_0x5ecbe4,_0x5359a6){var _0x2adb78=_[_0xe203('0x22')](_0x5ecbe4,function(_0x3bb0a3,_0x5698a0){return util[_0xe203('0x23')](_0xe203('0x24'),_0x3bb0a3['name']);});for(var _0x2d87b4 in _0x5359a6){if(_0x5359a6['hasOwnProperty'](_0x2d87b4)){if(!_0x2adb78[_0x2d87b4]){delete _0x5359a6[_0x2d87b4];}}}}function freeIsNotKeyAgent(_0xccb973,_0x7feece){var _0x261be7=_[_0xe203('0x22')](_0xccb973,function(_0x787797,_0x3c3ee5){var _0x4a12f0=_[_0xe203('0x25')](_0x787797[_0xe203('0x26')])?util[_0xe203('0x23')](_0xe203('0x24'),_0x787797[_0xe203('0x27')]):_0x787797[_0xe203('0x26')];return _0x4a12f0;});for(var _0x23d2a6 in _0x7feece){if(_0x7feece[_0xe203('0x28')](_0x23d2a6)){if(!_0x261be7[_0x23d2a6]){delete _0x7feece[_0x23d2a6];}}}}function clearVoiceCallReports(_0x46e336){_0x46e336['total']=0x0;_0x46e336[_0xe203('0x29')]=0x0;_0x46e336[_0xe203('0x2a')]=0x0;_0x46e336[_0xe203('0x2b')]=0x0;_0x46e336[_0xe203('0x2c')]=0x0;}function clearCampaigns(_0x4dc297){if(!_[_0xe203('0x2d')](_0x4dc297)){for(var _0x33b6d9 in _0x4dc297){if(_0x4dc297[_0xe203('0x28')](_0x33b6d9)){_0x4dc297[_0x33b6d9][_0xe203('0x2e')]=0x0;_0x4dc297[_0x33b6d9][_0xe203('0x2f')]=0x0;}}}}function clearVoiceQueues(_0x425796){if(!_[_0xe203('0x2d')](_0x425796)){for(var _0x1c7096 in _0x425796){if(_0x425796[_0xe203('0x28')](_0x1c7096)){_0x425796[_0x1c7096][_0xe203('0x30')]=0x0;_0x425796[_0x1c7096]['answered']=0x0;_0x425796[_0x1c7096][_0xe203('0x31')]=0x0;_0x425796[_0x1c7096][_0xe203('0x32')]=0x0;_0x425796[_0x1c7096][_0xe203('0x2a')]=0x0;_0x425796[_0x1c7096][_0xe203('0x2b')]=0x0;_0x425796[_0x1c7096][_0xe203('0x2c')]=0x0;_0x425796[_0x1c7096][_0xe203('0x33')]=0x0;_0x425796[_0x1c7096][_0xe203('0x34')]=0x0;_0x425796[_0x1c7096][_0xe203('0x35')]=0x0;_0x425796[_0x1c7096][_0xe203('0x36')]=0x0;_0x425796[_0x1c7096]['outboundNoSuchCallsDay']=0x0;_0x425796[_0x1c7096][_0xe203('0x37')]=0x0;_0x425796[_0x1c7096][_0xe203('0x38')]=0x0;_0x425796[_0x1c7096]['outboundDropCallsDayCallersExit']=0x0;_0x425796[_0x1c7096][_0xe203('0x39')]=0x0;_0x425796[_0x1c7096][_0xe203('0x3a')]=0x0;_0x425796[_0x1c7096]['outboundRejectCallsDay']=0x0;_0x425796[_0x1c7096][_0xe203('0x3b')]=0x0;_0x425796[_0x1c7096][_0xe203('0x33')]=0x0;_0x425796[_0x1c7096][_0xe203('0x3c')]=0x0;_0x425796[_0x1c7096][_0xe203('0x3d')]=!![];}}}}Realtime[_0xe203('0x3e')][_0xe203('0x3f')]=function(_0x2427ae,_0x27efd9){for(var _0x10788f in _0x27efd9){if(_0x2427ae[_0xe203('0x28')](_0x10788f)){_0x2427ae[_0x10788f]=_0x27efd9[_0x10788f];}}};Realtime[_0xe203('0x3e')]['initAgents']=function(){var _0x4ecb7f=this;return function(_0x28e686){if(_0x28e686){freeIsNotKeyAgent(_0x28e686,_0x4ecb7f[_0xe203('0x13')]);for(var _0x5117f6=0x0,_0x3dc665={},_0x2261ee={};_0x5117f6<_0x28e686[_0xe203('0x40')];_0x5117f6+=0x1){_0x3dc665=_0x28e686[_0x5117f6];var _0x566e3f=_[_0xe203('0x25')](_0x3dc665[_0xe203('0x26')])?util[_0xe203('0x23')](_0xe203('0x24'),_0x3dc665[_0xe203('0x27')]):_0x3dc665[_0xe203('0x26')];if(_['isUndefined'](_0x4ecb7f['agents'][_0x566e3f])){_0x4ecb7f[_0xe203('0x13')][_0x566e3f]=new Agent(_0x3dc665);}else{_0x4ecb7f[_0xe203('0x3f')](_0x4ecb7f['agents'][_0x566e3f],_0x3dc665);}}}return _0x4ecb7f[_0xe203('0x13')];};};Realtime[_0xe203('0x3e')]['initTelephones']=function(){var _0x33a4d9=this;return function(_0x3e3d2c){if(_0x3e3d2c){freeIsNotKeySip(_0x3e3d2c,_0x33a4d9[_0xe203('0x14')]);for(var _0xa2b6da=0x0,_0x4e7f7e={},_0x3a2157={};_0xa2b6da<_0x3e3d2c['length'];_0xa2b6da+=0x1){_0x4e7f7e=_0x3e3d2c[_0xa2b6da];if(_[_0xe203('0x41')](_0x33a4d9[_0xe203('0x14')][util[_0xe203('0x23')]('SIP/%s',_0x4e7f7e[_0xe203('0x27')])])){_0x33a4d9[_0xe203('0x14')][util[_0xe203('0x23')](_0xe203('0x24'),_0x4e7f7e[_0xe203('0x27')])]=new Telephone(_0x4e7f7e);}else{_0x33a4d9['mergeFromDatabase'](_0x33a4d9[_0xe203('0x14')][util[_0xe203('0x23')](_0xe203('0x24'),_0x4e7f7e[_0xe203('0x27')])],_0x4e7f7e);}}}return _0x33a4d9[_0xe203('0x14')];};};Realtime['prototype'][_0xe203('0x42')]=function(){var _0x1387c2=this;return function(_0x330134){if(_0x330134){freeIsNotKeySip(_0x330134,_0x1387c2[_0xe203('0x43')]);for(var _0x493759=0x0,_0x2f000e={},_0x5a6884={};_0x493759<_0x330134[_0xe203('0x40')];_0x493759+=0x1){_0x2f000e=_0x330134[_0x493759];if(_[_0xe203('0x41')](_0x1387c2['trunks'][util[_0xe203('0x23')]('SIP/%s',_0x2f000e['name'])])){_0x1387c2[_0xe203('0x43')][util[_0xe203('0x23')](_0xe203('0x24'),_0x2f000e[_0xe203('0x27')])]=new Trunk(_0x2f000e);}else{_0x1387c2['mergeFromDatabase'](_0x1387c2[_0xe203('0x43')][util[_0xe203('0x23')](_0xe203('0x24'),_0x2f000e[_0xe203('0x27')])],_0x2f000e);}}}return _0x1387c2[_0xe203('0x43')];};};Realtime[_0xe203('0x3e')][_0xe203('0x44')]=function(){var _0x2a15a5=this;return function(_0xbf2929){if(_0xbf2929){freeIsNotKey(_0xbf2929,_0x2a15a5[_0xe203('0x45')],'name');for(var _0x3038df=0x0,_0x19ffcc={},_0x393d6c={};_0x3038df<_0xbf2929[_0xe203('0x40')];_0x3038df+=0x1){_0x19ffcc=_0xbf2929[_0x3038df];if(_[_0xe203('0x41')](_0x2a15a5['voiceQueues'][_0x19ffcc[_0xe203('0x27')]])){_0x2a15a5[_0xe203('0x45')][_0x19ffcc['name']]=new VoiceQueue(_0x19ffcc);}else{_0x2a15a5[_0xe203('0x3f')](_0x2a15a5[_0xe203('0x45')][_0x19ffcc[_0xe203('0x27')]],_0x19ffcc);}}}return _0x2a15a5[_0xe203('0x45')];};};Realtime['prototype'][_0xe203('0x46')]=function(){var _0x116c53=this;return function(_0x23b37b){if(_0x23b37b){freeIsNotKey(_0x23b37b,_0x116c53[_0xe203('0x15')],'id');for(var _0x364ab9=0x0,_0x31ad85={},_0x2133a2={};_0x364ab9<_0x23b37b[_0xe203('0x40')];_0x364ab9+=0x1){_0x31ad85=_0x23b37b[_0x364ab9];if(_[_0xe203('0x41')](_0x116c53['triggers'][_0x31ad85['id']])){_0x116c53[_0xe203('0x15')][_0x31ad85['id']]=new Trigger(_0x31ad85);}else{_0x116c53[_0xe203('0x3f')](_0x116c53[_0xe203('0x15')][_0x31ad85['id']],_0x31ad85);}}}return _0x116c53['triggers'];};};Realtime[_0xe203('0x3e')][_0xe203('0x47')]=function(){var _0x57985f=this;return function(_0x1ef43e){if(_0x1ef43e){freeIsNotKey(_0x1ef43e,_0x57985f['templates'],'id');for(var _0xc0bbf1=0x0,_0x4be09d={},_0x300efc={};_0xc0bbf1<_0x1ef43e[_0xe203('0x40')];_0xc0bbf1+=0x1){_0x4be09d=_0x1ef43e[_0xc0bbf1];if(_[_0xe203('0x41')](_0x57985f[_0xe203('0x48')][_0x4be09d['id']])){_0x57985f[_0xe203('0x48')][_0x4be09d['id']]=new Template(_0x4be09d);}else{_0x57985f['mergeFromDatabase'](_0x57985f[_0xe203('0x48')][_0x4be09d['id']],_0x4be09d);}}}return _0x57985f[_0xe203('0x48')];};};Realtime[_0xe203('0x3e')][_0xe203('0x49')]=function(){var _0x4a5666=this;return function(_0xbd8954){if(_0xbd8954){freeIsNotKey(_0xbd8954,_0x4a5666[_0xe203('0x1a')],'id');for(var _0x1fc13c=0x0,_0x4c3271={},_0x381ad5={};_0x1fc13c<_0xbd8954['length'];_0x1fc13c+=0x1){_0x4c3271=_0xbd8954[_0x1fc13c];if(_[_0xe203('0x41')](_0x4a5666['zendeskAccounts'][_0x4c3271['id']])){_0x4a5666[_0xe203('0x1a')][_0x4c3271['id']]=new ZendeskAccount(_0x4c3271);}else{_0x4a5666['mergeFromDatabase'](_0x4a5666[_0xe203('0x1a')][_0x4c3271['id']],_0x4c3271);}}}return _0x4a5666[_0xe203('0x1a')];};};Realtime['prototype'][_0xe203('0x4a')]=function(){var _0x375106=this;return function(_0x366983){if(_0x366983){freeIsNotKey(_0x366983,_0x375106[_0xe203('0x1b')],'id');for(var _0x28421e=0x0,_0x4b004f={},_0x34dc1f={};_0x28421e<_0x366983[_0xe203('0x40')];_0x28421e+=0x1){_0x4b004f=_0x366983[_0x28421e];if(_[_0xe203('0x41')](_0x375106['salesforceAccounts'][_0x4b004f['id']])){_0x375106[_0xe203('0x1b')][_0x4b004f['id']]=new SalesforceAccount(_0x4b004f);}else{_0x375106['mergeFromDatabase'](_0x375106[_0xe203('0x1b')][_0x4b004f['id']],_0x4b004f);}}}return _0x375106[_0xe203('0x1b')];};};Realtime[_0xe203('0x3e')]['initFreshdeskAccounts']=function(){var _0x4d2334=this;return function(_0x5e4a30){if(_0x5e4a30){freeIsNotKey(_0x5e4a30,_0x4d2334[_0xe203('0x1c')],'id');for(var _0x12c6e3=0x0,_0x5a7d72={},_0x16b66c={};_0x12c6e3<_0x5e4a30['length'];_0x12c6e3+=0x1){_0x5a7d72=_0x5e4a30[_0x12c6e3];if(_[_0xe203('0x41')](_0x4d2334[_0xe203('0x1c')][_0x5a7d72['id']])){_0x4d2334[_0xe203('0x1c')][_0x5a7d72['id']]=new FreshdeskAccount(_0x5a7d72);}else{_0x4d2334[_0xe203('0x3f')](_0x4d2334[_0xe203('0x1c')][_0x5a7d72['id']],_0x5a7d72);}}}return _0x4d2334['freshdeskAccounts'];};};Realtime[_0xe203('0x3e')]['initZohoAccounts']=function(){var _0x21f0aa=this;return function(_0x3f4d8d){if(_0x3f4d8d){freeIsNotKey(_0x3f4d8d,_0x21f0aa[_0xe203('0x1d')],'id');for(var _0x278bbf=0x0,_0x2efe56={},_0x59e062={};_0x278bbf<_0x3f4d8d[_0xe203('0x40')];_0x278bbf+=0x1){_0x2efe56=_0x3f4d8d[_0x278bbf];if(_[_0xe203('0x41')](_0x21f0aa[_0xe203('0x1d')][_0x2efe56['id']])){_0x21f0aa[_0xe203('0x1d')][_0x2efe56['id']]=new ZohoAccount(_0x2efe56);}else{_0x21f0aa[_0xe203('0x3f')](_0x21f0aa[_0xe203('0x1d')][_0x2efe56['id']],_0x2efe56);}}}return _0x21f0aa[_0xe203('0x1d')];};};Realtime[_0xe203('0x3e')][_0xe203('0x4b')]=function(){var _0x45ac40=this;return function(_0x4673cf){if(_0x4673cf){freeIsNotKey(_0x4673cf,_0x45ac40[_0xe203('0x4c')],'id');for(var _0x149d89=0x0,_0x2703d3={},_0x91556f={};_0x149d89<_0x4673cf[_0xe203('0x40')];_0x149d89+=0x1){_0x2703d3=_0x4673cf[_0x149d89];if(_['isUndefined'](_0x45ac40[_0xe203('0x4c')][_0x2703d3['id']])){_0x45ac40[_0xe203('0x4c')][_0x2703d3['id']]=new DeskAccount(_0x2703d3);}else{_0x45ac40[_0xe203('0x3f')](_0x45ac40[_0xe203('0x4c')][_0x2703d3['id']],_0x2703d3);}}}return _0x45ac40['deskAccounts'];};};Realtime['prototype'][_0xe203('0x4d')]=function(){var _0x4f966=this;return function(_0x4ebd09){if(_0x4ebd09){freeIsNotKey(_0x4ebd09,_0x4f966[_0xe203('0x4e')],'id');for(var _0x750c47=0x0,_0x5bc717={},_0x1f2bf8={};_0x750c47<_0x4ebd09[_0xe203('0x40')];_0x750c47+=0x1){_0x5bc717=_0x4ebd09[_0x750c47];if(_[_0xe203('0x41')](_0x4f966[_0xe203('0x4e')][_0x5bc717['id']])){_0x4f966[_0xe203('0x4e')][_0x5bc717['id']]=new SugarcrmAccount(_0x5bc717);}else{_0x4f966[_0xe203('0x3f')](_0x4f966[_0xe203('0x4e')][_0x5bc717['id']],_0x5bc717);}}}return _0x4f966[_0xe203('0x4e')];};};Realtime[_0xe203('0x3e')][_0xe203('0x4f')]=function(){var _0x2143ed=this;return function(_0x441726){if(_0x441726){freeIsNotKey(_0x441726,_0x2143ed[_0xe203('0x1e')],'id');for(var _0x541e9c=0x0,_0x508129={},_0x480548={};_0x541e9c<_0x441726['length'];_0x541e9c+=0x1){_0x508129=_0x441726[_0x541e9c];if(_['isUndefined'](_0x2143ed[_0xe203('0x1e')][_0x508129['id']])){_0x2143ed[_0xe203('0x1e')][_0x508129['id']]=new VtigerAccount(_0x508129);}else{_0x2143ed[_0xe203('0x3f')](_0x2143ed[_0xe203('0x1e')][_0x508129['id']],_0x508129);}}}return _0x2143ed[_0xe203('0x1e')];};};Realtime[_0xe203('0x3e')][_0xe203('0x50')]=function(){var _0x18be2b=this;return function(_0x5d0fdc){if(_0x5d0fdc){freeIsNotKey(_0x5d0fdc,_0x18be2b[_0xe203('0x1f')],'id');for(var _0x2efa38=0x0,_0x3c663c={},_0x432273={};_0x2efa38<_0x5d0fdc[_0xe203('0x40')];_0x2efa38+=0x1){_0x3c663c=_0x5d0fdc[_0x2efa38];if(_[_0xe203('0x41')](_0x18be2b[_0xe203('0x1f')][_0x3c663c['id']])){_0x18be2b[_0xe203('0x1f')][_0x3c663c['id']]=new ServicenowAccount(_0x3c663c);}else{_0x18be2b['mergeFromDatabase'](_0x18be2b['servicenowAccounts'][_0x3c663c['id']],_0x3c663c);}}}return _0x18be2b[_0xe203('0x1f')];};};Realtime[_0xe203('0x3e')][_0xe203('0x51')]=function(){var _0x590f0e=this;return function(_0x491c24){if(_0x491c24){freeIsNotKey(_0x491c24,_0x590f0e[_0xe203('0x20')],'id');for(var _0x560bda=0x0,_0x3cfdca={},_0x474492={};_0x560bda<_0x491c24[_0xe203('0x40')];_0x560bda+=0x1){_0x3cfdca=_0x491c24[_0x560bda];if(_[_0xe203('0x41')](_0x590f0e['dynamics365Accounts'][_0x3cfdca['id']])){_0x590f0e['dynamics365Accounts'][_0x3cfdca['id']]=new Dynamics365Account(_0x3cfdca);}else{_0x590f0e[_0xe203('0x3f')](_0x590f0e[_0xe203('0x20')][_0x3cfdca['id']],_0x3cfdca);}}}return _0x590f0e['dynamics365Accounts'];};};Realtime[_0xe203('0x3e')][_0xe203('0x52')]=function(){var _0x3f785c=this;return function(_0x2827b3){if(_0x2827b3){freeIsNotKey(_0x2827b3,_0x3f785c[_0xe203('0x21')],'id');for(var _0x5750d4=0x0,_0x3cce54={},_0x430c2b={};_0x5750d4<_0x2827b3[_0xe203('0x40')];_0x5750d4+=0x1){_0x3cce54=_0x2827b3[_0x5750d4];if(_['isUndefined'](_0x3f785c[_0xe203('0x21')][_0x3cce54['id']])){_0x3f785c[_0xe203('0x21')][_0x3cce54['id']]=new FreshsalesAccount(_0x3cce54);}else{_0x3f785c['mergeFromDatabase'](_0x3f785c['freshsalesAccounts'][_0x3cce54['id']],_0x3cce54);}}}return _0x3f785c[_0xe203('0x21')];};};Realtime['prototype']['initVoiceQueueHopperHistory']=function(){var _0x2ff4ca=this;return function(_0x47c24c){for(var _0xf2cb0e=0x0;_0xf2cb0e<_0x47c24c[_0xe203('0x40')];_0xf2cb0e+=0x1){_[_0xe203('0x53')](_0x2ff4ca[_0xe203('0x45')][_0x47c24c[_0xf2cb0e]['name']],_0x47c24c[_0xf2cb0e]);}return _0x2ff4ca[_0xe203('0x45')];};};Realtime['prototype']['initVoiceQueueReports']=function(){var _0x16227a=this;return function(_0x2e2edf){clearVoiceQueues(_0x16227a[_0xe203('0x45')]);if(_0x2e2edf){_0x2e2edf=_[_0xe203('0x54')](_0x2e2edf,_0xe203('0x55'));for(var _0x2b55fc in _0x2e2edf){if(_0x2e2edf['hasOwnProperty'](_0x2b55fc)){var _0xe2a221={};for(var _0x193d96=0x0;_0x193d96<_0x2e2edf[_0x2b55fc]['length'];_0x193d96+=0x1){var _0x5ba8b9=_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x56')];if(_0x16227a['voiceQueues'][_0x5ba8b9]){if(_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x57')]){_0x16227a[_0xe203('0x45')][_0x5ba8b9][_0xe203('0x31')]+=0x1;}if(_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x58')]){_0x16227a[_0xe203('0x45')][_0x5ba8b9][_0xe203('0x32')]+=0x1;}_0x16227a[_0xe203('0x45')][_0x5ba8b9][_0xe203('0x2a')]+=moment(_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x59')])[_0xe203('0x5a')](moment(_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x5b')]),_0xe203('0x5c'))||0x0;if(_0x193d96===_0x2e2edf[_0x2b55fc][_0xe203('0x40')]-0x1){_0x16227a[_0xe203('0x45')][_0x5ba8b9]['sumDuration']+=moment(_0x2e2edf[_0x2b55fc][_0x193d96]['queuecallercompleteAt']||_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x5d')]||_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x5e')])['diff'](moment(_0x2e2edf[_0x2b55fc][_0x193d96]['queuecallerjoinAt']),_0xe203('0x5c'))||0x0;_0x16227a[_0xe203('0x45')][_0x5ba8b9][_0xe203('0x30')]+=0x1;if(_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x5f')]){_0x16227a[_0xe203('0x45')][_0x5ba8b9][_0xe203('0x29')]+=0x1;_0x16227a[_0xe203('0x45')][_0x5ba8b9][_0xe203('0x2c')]+=moment(_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x60')])[_0xe203('0x5a')](moment(_0x2e2edf[_0x2b55fc][_0x193d96][_0xe203('0x59')]),_0xe203('0x5c'))||0x0;}}else{_0x16227a[_0xe203('0x45')][_0x5ba8b9][_0xe203('0x2b')]+=_0x16227a['voiceQueues'][_0x5ba8b9]['sumHoldTime']||0x0;}}}}}}return _0x16227a[_0xe203('0x45')];};};Realtime['prototype']['initVoiceCallReports']=function(){var _0x646b2d=this;return function(_0x20defd){clearVoiceCallReports(_0x646b2d[_0xe203('0x16')]);if(_0x20defd){for(var _0x534be6=0x0;_0x534be6<_0x20defd[_0xe203('0x40')];_0x534be6+=0x1){_0x646b2d['outbound'][_0xe203('0x30')]+=0x1;_0x646b2d[_0xe203('0x16')]['sumDuration']+=_0x20defd[_0x534be6][_0xe203('0x61')];if(_0x20defd[_0x534be6][_0xe203('0x62')]==='ANSWERED'){_0x646b2d['outbound'][_0xe203('0x29')]+=0x1;_0x646b2d[_0xe203('0x16')][_0xe203('0x2a')]+=_0x20defd[_0x534be6][_0xe203('0x61')]-_0x20defd[_0x534be6][_0xe203('0x63')]||0x0;_0x646b2d[_0xe203('0x16')][_0xe203('0x2c')]+=_0x20defd[_0x534be6][_0xe203('0x63')];}}}return _0x646b2d[_0xe203('0x16')];};};Realtime[_0xe203('0x3e')]['initCampaigns']=function(){var _0x2823b6=this;return function(_0x1d5638){if(_0x1d5638){freeIsNotKey(_0x1d5638,_0x2823b6['campaigns'],'name');for(var _0x57ebd5=0x0,_0x4c1f48={};_0x57ebd5<_0x1d5638['length'];_0x57ebd5+=0x1){_0x4c1f48=_0x1d5638[_0x57ebd5];if(_['isUndefined'](_0x2823b6['campaigns'][_0x4c1f48[_0xe203('0x27')]])){_0x2823b6[_0xe203('0x64')][_0x4c1f48[_0xe203('0x27')]]=new Campaign(_0x4c1f48);}else{_0x2823b6[_0xe203('0x3f')](_0x2823b6['campaigns'][_0x4c1f48[_0xe203('0x27')]],_0x4c1f48);_0x2823b6[_0xe203('0x64')][_0x4c1f48[_0xe203('0x27')]][_0xe203('0x65')]=_0x4c1f48[_0xe203('0x66')]?_0x4c1f48[_0xe203('0x66')][_0xe203('0x27')]:undefined;}}}return _0x2823b6[_0xe203('0x64')];};};Realtime[_0xe203('0x3e')][_0xe203('0x67')]=function(){var _0x1d26a0=this;return function(_0x45b075){if(_0x45b075){freeIsNotKey(_0x45b075,_0x1d26a0[_0xe203('0x17')],'id');for(var _0x30bc7f=0x0,_0x226434={};_0x30bc7f<_0x45b075[_0xe203('0x40')];_0x30bc7f+=0x1){_0x226434=_0x45b075[_0x30bc7f];if(_['isUndefined'](_0x1d26a0[_0xe203('0x17')][_0x226434['id']])){_0x1d26a0[_0xe203('0x17')][_0x226434['id']]=new VoiceExtension(_0x226434);}else{_0x1d26a0[_0xe203('0x3f')](_0x1d26a0[_0xe203('0x17')][_0x226434['id']],_0x226434);}}}return _0x1d26a0[_0xe203('0x17')];};};Realtime[_0xe203('0x3e')][_0xe203('0x68')]=function(){var _0x51eb5f=this;return function(_0x40b336){clearCampaigns(_0x51eb5f[_0xe203('0x64')]);for(var _0x4e3b55=0x0;_0x4e3b55<_0x40b336[_0xe203('0x40')];_0x4e3b55+=0x1){_[_0xe203('0x53')](_0x51eb5f[_0xe203('0x64')][_0x40b336[_0x4e3b55][_0xe203('0x27')]],_0x40b336[_0x4e3b55]);}return _0x51eb5f['campaigns'];};};Realtime[_0xe203('0x3e')]['initFaxAccounts']=function(){var _0x571e3e=this;return function(_0x1c4867){if(_0x1c4867){freeIsNotKey(_0x1c4867,_0x571e3e[_0xe203('0x69')],'id');for(var _0x2309a3=0x0,_0xeb11d4={},_0x5cd255={};_0x2309a3<_0x1c4867['length'];_0x2309a3+=0x1){_0xeb11d4=_0x1c4867[_0x2309a3];if(_['isUndefined'](_0x571e3e[_0xe203('0x69')][_0xeb11d4['id']])){_0x571e3e[_0xe203('0x69')][_0xeb11d4['id']]=new FaxAccount(_0xeb11d4);}else{_0x571e3e[_0xe203('0x3f')](_0x571e3e[_0xe203('0x69')][_0xeb11d4['id']],_0xeb11d4);}}}return _0x571e3e[_0xe203('0x69')];};};module[_0xe203('0x6a')]=Realtime;