Built motion from commit ddca4d0d.|2.5.47
[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 _0xe89f=['dialQueueProject','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','voiceQueues','campaigns','templates','outbound','channels','queueChannels','timers','settings','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','faxAccounts','hasOwnProperty','mapKeys','format','name','interface','SIP/%s','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrAnswerCallsDay','total','unmanaged','abandoned','outboundNoAnswerCallsDay','outboundCongestionCallsDay','outboundRejectCallsDay','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','agents','length','isNil','isUndefined','initTelephones','telephones','trunks','initVoiceQueues','initTriggers','triggers','initZendeskAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','merge','initVoiceQueueReports','queuecallerexit','queuecallerabandon','queuecallerleaveAt','queuecallerjoinAt','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','diff','seconds','duration','disposition','ANSWERED','billableseconds','initCampaigns'];(function(_0x24fe8e,_0x3fa991){var _0xe063e8=function(_0x4b6c33){while(--_0x4b6c33){_0x24fe8e['push'](_0x24fe8e['shift']());}};_0xe063e8(++_0x3fa991);}(_0xe89f,0x72));var _0xfe89=function(_0x3dd02c,_0x382d4b){_0x3dd02c=_0x3dd02c-0x0;var _0x391bc3=_0xe89f[_0x3dd02c];return _0x391bc3;};'use strict';var BPromise=require(_0xfe89('0x0'));var util=require(_0xfe89('0x1'));var _=require(_0xfe89('0x2'));var moment=require(_0xfe89('0x3'));var Agent=require(_0xfe89('0x4'));var Telephone=require(_0xfe89('0x5'));var Trunk=require(_0xfe89('0x6'));var VoiceQueue=require(_0xfe89('0x7'));var Trigger=require(_0xfe89('0x8'));var Template=require(_0xfe89('0x9'));var Campaign=require('../model/campaign');var VoiceExtension=require(_0xfe89('0xa'));var ZendeskAccount=require(_0xfe89('0xb'));var SalesforceAccount=require(_0xfe89('0xc'));var FreshdeskAccount=require(_0xfe89('0xd'));var SugarcrmAccount=require(_0xfe89('0xe'));var ZohoAccount=require(_0xfe89('0xf'));var DeskAccount=require(_0xfe89('0x10'));var VtigerAccount=require(_0xfe89('0x11'));var ServicenowAccount=require(_0xfe89('0x12'));var Dynamics365Account=require(_0xfe89('0x13'));var FreshsalesAccount=require(_0xfe89('0x14'));var FaxAccount=require(_0xfe89('0x15'));var Realtime=function(){this['agents']={};this['telephones']={};this['trunks']={};this[_0xfe89('0x16')]={};this['triggers']={};this[_0xfe89('0x17')]={};this[_0xfe89('0x18')]={};this[_0xfe89('0x19')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0xfe89('0x1a')]={};this[_0xfe89('0x1b')]={};this['outboundChannels']={};this[_0xfe89('0x1c')]={};this[_0xfe89('0x1d')]={};this[_0xfe89('0x1e')]={};this[_0xfe89('0x1f')]={};this[_0xfe89('0x20')]={};this[_0xfe89('0x21')]={};this[_0xfe89('0x22')]={};this[_0xfe89('0x23')]={};this[_0xfe89('0x24')]={};this[_0xfe89('0x25')]={};this['dynamics365Accounts']={};this['freshsalesAccounts']={};this[_0xfe89('0x26')]={};};function freeIsNotKey(_0x54f64b,_0x237124,_0x3ed8c5){var _0x45d45a=_['mapKeys'](_0x54f64b,function(_0x1bc28,_0x616a4a){return _0x1bc28[_0x3ed8c5];});for(var _0x25ae02 in _0x237124){if(_0x237124[_0xfe89('0x27')](_0x25ae02)){if(!_0x45d45a[_0x25ae02]){delete _0x237124[_0x25ae02];}}}}function freeIsNotKeySip(_0x5d7850,_0x48b239){var _0x1a6939=_[_0xfe89('0x28')](_0x5d7850,function(_0x1664cd,_0x24eb86){return util[_0xfe89('0x29')]('SIP/%s',_0x1664cd[_0xfe89('0x2a')]);});for(var _0x1ffdc7 in _0x48b239){if(_0x48b239[_0xfe89('0x27')](_0x1ffdc7)){if(!_0x1a6939[_0x1ffdc7]){delete _0x48b239[_0x1ffdc7];}}}}function freeIsNotKeyAgent(_0x471722,_0x1c4493){var _0x5af90f=_['mapKeys'](_0x471722,function(_0x3bf2b8,_0x2e490a){var _0xeae190=_['isNil'](_0x3bf2b8[_0xfe89('0x2b')])?util[_0xfe89('0x29')](_0xfe89('0x2c'),_0x3bf2b8[_0xfe89('0x2a')]):_0x3bf2b8['interface'];return _0xeae190;});for(var _0xf51f97 in _0x1c4493){if(_0x1c4493[_0xfe89('0x27')](_0xf51f97)){if(!_0x5af90f[_0xf51f97]){delete _0x1c4493[_0xf51f97];}}}}function clearVoiceCallReports(_0x46aa46){_0x46aa46['total']=0x0;_0x46aa46[_0xfe89('0x2d')]=0x0;_0x46aa46[_0xfe89('0x2e')]=0x0;_0x46aa46[_0xfe89('0x2f')]=0x0;_0x46aa46[_0xfe89('0x30')]=0x0;}function clearCampaigns(_0x3452aa){if(!_[_0xfe89('0x31')](_0x3452aa)){for(var _0x465342 in _0x3452aa){if(_0x3452aa[_0xfe89('0x27')](_0x465342)){_0x3452aa[_0x465342]['ivrTotalCallsDays']=0x0;_0x3452aa[_0x465342][_0xfe89('0x32')]=0x0;}}}}function clearVoiceQueues(_0xfa91c5){if(!_[_0xfe89('0x31')](_0xfa91c5)){for(var _0x5d83d5 in _0xfa91c5){if(_0xfa91c5['hasOwnProperty'](_0x5d83d5)){_0xfa91c5[_0x5d83d5][_0xfe89('0x33')]=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x2d')]=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x34')]=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x35')]=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x2e')]=0x0;_0xfa91c5[_0x5d83d5]['sumDuration']=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x30')]=0x0;_0xfa91c5[_0x5d83d5]['outboundAnswerAgiCallsDay']=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x36')]=0x0;_0xfa91c5[_0x5d83d5]['outboundBusyCallsDay']=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x37')]=0x0;_0xfa91c5[_0x5d83d5]['outboundNoSuchCallsDay']=0x0;_0xfa91c5[_0x5d83d5]['outboundUnknownCallsDay']=0x0;_0xfa91c5[_0x5d83d5]['outboundDropCallsDayTimeout']=0x0;_0xfa91c5[_0x5d83d5]['outboundDropCallsDayCallersExit']=0x0;_0xfa91c5[_0x5d83d5]['outboundBlacklistCallsDay']=0x0;_0xfa91c5[_0x5d83d5]['outboundOriginateFailureCallsDay']=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x38')]=0x0;_0xfa91c5[_0x5d83d5]['outboundReCallsDay']=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x39')]=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x3a')]=0x0;_0xfa91c5[_0x5d83d5][_0xfe89('0x3b')]=!![];}}}}Realtime[_0xfe89('0x3c')][_0xfe89('0x3d')]=function(_0x294ffe,_0x388f3b){for(var _0x18d9ae in _0x388f3b){if(_0x294ffe[_0xfe89('0x27')](_0x18d9ae)){_0x294ffe[_0x18d9ae]=_0x388f3b[_0x18d9ae];}}};Realtime[_0xfe89('0x3c')][_0xfe89('0x3e')]=function(){var _0xfcabc3=this;return function(_0x20b287){if(_0x20b287){freeIsNotKeyAgent(_0x20b287,_0xfcabc3[_0xfe89('0x3f')]);for(var _0x86ca59=0x0,_0x29ecae={},_0x1507fd={};_0x86ca59<_0x20b287[_0xfe89('0x40')];_0x86ca59+=0x1){_0x29ecae=_0x20b287[_0x86ca59];var _0x55dbf2=_[_0xfe89('0x41')](_0x29ecae[_0xfe89('0x2b')])?util['format'](_0xfe89('0x2c'),_0x29ecae[_0xfe89('0x2a')]):_0x29ecae['interface'];if(_[_0xfe89('0x42')](_0xfcabc3[_0xfe89('0x3f')][_0x55dbf2])){_0xfcabc3[_0xfe89('0x3f')][_0x55dbf2]=new Agent(_0x29ecae);}else{_0xfcabc3[_0xfe89('0x3d')](_0xfcabc3[_0xfe89('0x3f')][_0x55dbf2],_0x29ecae);}}}return _0xfcabc3[_0xfe89('0x3f')];};};Realtime['prototype'][_0xfe89('0x43')]=function(){var _0x13e097=this;return function(_0x25c00e){if(_0x25c00e){freeIsNotKeySip(_0x25c00e,_0x13e097[_0xfe89('0x44')]);for(var _0xab2c81=0x0,_0x705a7d={},_0x1f9e14={};_0xab2c81<_0x25c00e[_0xfe89('0x40')];_0xab2c81+=0x1){_0x705a7d=_0x25c00e[_0xab2c81];if(_[_0xfe89('0x42')](_0x13e097['telephones'][util['format'](_0xfe89('0x2c'),_0x705a7d[_0xfe89('0x2a')])])){_0x13e097[_0xfe89('0x44')][util[_0xfe89('0x29')]('SIP/%s',_0x705a7d[_0xfe89('0x2a')])]=new Telephone(_0x705a7d);}else{_0x13e097[_0xfe89('0x3d')](_0x13e097[_0xfe89('0x44')][util[_0xfe89('0x29')](_0xfe89('0x2c'),_0x705a7d[_0xfe89('0x2a')])],_0x705a7d);}}}return _0x13e097['telephones'];};};Realtime[_0xfe89('0x3c')]['initTrunks']=function(){var _0x29c669=this;return function(_0x369cc0){if(_0x369cc0){freeIsNotKeySip(_0x369cc0,_0x29c669[_0xfe89('0x45')]);for(var _0x207448=0x0,_0x2c3366={},_0x2700e1={};_0x207448<_0x369cc0[_0xfe89('0x40')];_0x207448+=0x1){_0x2c3366=_0x369cc0[_0x207448];if(_['isUndefined'](_0x29c669[_0xfe89('0x45')][util['format'](_0xfe89('0x2c'),_0x2c3366[_0xfe89('0x2a')])])){_0x29c669[_0xfe89('0x45')][util['format'](_0xfe89('0x2c'),_0x2c3366['name'])]=new Trunk(_0x2c3366);}else{_0x29c669[_0xfe89('0x3d')](_0x29c669[_0xfe89('0x45')][util[_0xfe89('0x29')](_0xfe89('0x2c'),_0x2c3366['name'])],_0x2c3366);}}}return _0x29c669[_0xfe89('0x45')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x46')]=function(){var _0x12d9b5=this;return function(_0x401e3b){if(_0x401e3b){freeIsNotKey(_0x401e3b,_0x12d9b5['voiceQueues'],_0xfe89('0x2a'));for(var _0x3a54fa=0x0,_0x29b838={},_0x30fc22={};_0x3a54fa<_0x401e3b[_0xfe89('0x40')];_0x3a54fa+=0x1){_0x29b838=_0x401e3b[_0x3a54fa];if(_[_0xfe89('0x42')](_0x12d9b5['voiceQueues'][_0x29b838['name']])){_0x12d9b5[_0xfe89('0x16')][_0x29b838[_0xfe89('0x2a')]]=new VoiceQueue(_0x29b838);}else{_0x12d9b5[_0xfe89('0x3d')](_0x12d9b5[_0xfe89('0x16')][_0x29b838['name']],_0x29b838);}}}return _0x12d9b5[_0xfe89('0x16')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x47')]=function(){var _0x41bdcc=this;return function(_0xdec6a5){if(_0xdec6a5){freeIsNotKey(_0xdec6a5,_0x41bdcc['triggers'],'id');for(var _0x2c1a19=0x0,_0x488832={},_0x50687a={};_0x2c1a19<_0xdec6a5[_0xfe89('0x40')];_0x2c1a19+=0x1){_0x488832=_0xdec6a5[_0x2c1a19];if(_[_0xfe89('0x42')](_0x41bdcc[_0xfe89('0x48')][_0x488832['id']])){_0x41bdcc['triggers'][_0x488832['id']]=new Trigger(_0x488832);}else{_0x41bdcc[_0xfe89('0x3d')](_0x41bdcc[_0xfe89('0x48')][_0x488832['id']],_0x488832);}}}return _0x41bdcc['triggers'];};};Realtime[_0xfe89('0x3c')]['initTemplates']=function(){var _0x1c5c16=this;return function(_0x5efd0d){if(_0x5efd0d){freeIsNotKey(_0x5efd0d,_0x1c5c16[_0xfe89('0x18')],'id');for(var _0x467e7f=0x0,_0x2eb318={},_0x21fc71={};_0x467e7f<_0x5efd0d[_0xfe89('0x40')];_0x467e7f+=0x1){_0x2eb318=_0x5efd0d[_0x467e7f];if(_[_0xfe89('0x42')](_0x1c5c16['templates'][_0x2eb318['id']])){_0x1c5c16[_0xfe89('0x18')][_0x2eb318['id']]=new Template(_0x2eb318);}else{_0x1c5c16[_0xfe89('0x3d')](_0x1c5c16[_0xfe89('0x18')][_0x2eb318['id']],_0x2eb318);}}}return _0x1c5c16['templates'];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x49')]=function(){var _0xf93181=this;return function(_0x57e900){if(_0x57e900){freeIsNotKey(_0x57e900,_0xf93181[_0xfe89('0x1e')],'id');for(var _0x57e88e=0x0,_0x589cd8={},_0x2ef2ef={};_0x57e88e<_0x57e900['length'];_0x57e88e+=0x1){_0x589cd8=_0x57e900[_0x57e88e];if(_[_0xfe89('0x42')](_0xf93181[_0xfe89('0x1e')][_0x589cd8['id']])){_0xf93181[_0xfe89('0x1e')][_0x589cd8['id']]=new ZendeskAccount(_0x589cd8);}else{_0xf93181['mergeFromDatabase'](_0xf93181[_0xfe89('0x1e')][_0x589cd8['id']],_0x589cd8);}}}return _0xf93181[_0xfe89('0x1e')];};};Realtime[_0xfe89('0x3c')]['initSalesforceAccounts']=function(){var _0x43abe4=this;return function(_0x18ae9c){if(_0x18ae9c){freeIsNotKey(_0x18ae9c,_0x43abe4[_0xfe89('0x1f')],'id');for(var _0x48e2d9=0x0,_0x212f49={},_0x4a2f08={};_0x48e2d9<_0x18ae9c['length'];_0x48e2d9+=0x1){_0x212f49=_0x18ae9c[_0x48e2d9];if(_[_0xfe89('0x42')](_0x43abe4[_0xfe89('0x1f')][_0x212f49['id']])){_0x43abe4[_0xfe89('0x1f')][_0x212f49['id']]=new SalesforceAccount(_0x212f49);}else{_0x43abe4[_0xfe89('0x3d')](_0x43abe4['salesforceAccounts'][_0x212f49['id']],_0x212f49);}}}return _0x43abe4[_0xfe89('0x1f')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x4a')]=function(){var _0x1fe1c3=this;return function(_0x46cae0){if(_0x46cae0){freeIsNotKey(_0x46cae0,_0x1fe1c3[_0xfe89('0x21')],'id');for(var _0x1444d1=0x0,_0x13c522={},_0x87d34d={};_0x1444d1<_0x46cae0[_0xfe89('0x40')];_0x1444d1+=0x1){_0x13c522=_0x46cae0[_0x1444d1];if(_['isUndefined'](_0x1fe1c3['freshdeskAccounts'][_0x13c522['id']])){_0x1fe1c3[_0xfe89('0x21')][_0x13c522['id']]=new FreshdeskAccount(_0x13c522);}else{_0x1fe1c3['mergeFromDatabase'](_0x1fe1c3['freshdeskAccounts'][_0x13c522['id']],_0x13c522);}}}return _0x1fe1c3[_0xfe89('0x21')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x4b')]=function(){var _0x360ce2=this;return function(_0x6cdded){if(_0x6cdded){freeIsNotKey(_0x6cdded,_0x360ce2[_0xfe89('0x22')],'id');for(var _0x5ad3c1=0x0,_0x419037={},_0x33d989={};_0x5ad3c1<_0x6cdded[_0xfe89('0x40')];_0x5ad3c1+=0x1){_0x419037=_0x6cdded[_0x5ad3c1];if(_[_0xfe89('0x42')](_0x360ce2['zohoAccounts'][_0x419037['id']])){_0x360ce2[_0xfe89('0x22')][_0x419037['id']]=new ZohoAccount(_0x419037);}else{_0x360ce2[_0xfe89('0x3d')](_0x360ce2[_0xfe89('0x22')][_0x419037['id']],_0x419037);}}}return _0x360ce2[_0xfe89('0x22')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x4c')]=function(){var _0xa01ddd=this;return function(_0x66f868){if(_0x66f868){freeIsNotKey(_0x66f868,_0xa01ddd[_0xfe89('0x23')],'id');for(var _0x4a973e=0x0,_0x1aa660={},_0x49fd0f={};_0x4a973e<_0x66f868[_0xfe89('0x40')];_0x4a973e+=0x1){_0x1aa660=_0x66f868[_0x4a973e];if(_[_0xfe89('0x42')](_0xa01ddd['deskAccounts'][_0x1aa660['id']])){_0xa01ddd[_0xfe89('0x23')][_0x1aa660['id']]=new DeskAccount(_0x1aa660);}else{_0xa01ddd[_0xfe89('0x3d')](_0xa01ddd['deskAccounts'][_0x1aa660['id']],_0x1aa660);}}}return _0xa01ddd['deskAccounts'];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x4d')]=function(){var _0x4a42b2=this;return function(_0x6b3093){if(_0x6b3093){freeIsNotKey(_0x6b3093,_0x4a42b2[_0xfe89('0x20')],'id');for(var _0x404573=0x0,_0x2c7d3a={},_0x33f8f4={};_0x404573<_0x6b3093[_0xfe89('0x40')];_0x404573+=0x1){_0x2c7d3a=_0x6b3093[_0x404573];if(_[_0xfe89('0x42')](_0x4a42b2[_0xfe89('0x20')][_0x2c7d3a['id']])){_0x4a42b2['sugarcrmAccounts'][_0x2c7d3a['id']]=new SugarcrmAccount(_0x2c7d3a);}else{_0x4a42b2[_0xfe89('0x3d')](_0x4a42b2[_0xfe89('0x20')][_0x2c7d3a['id']],_0x2c7d3a);}}}return _0x4a42b2[_0xfe89('0x20')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x4e')]=function(){var _0x52da42=this;return function(_0x4b84b3){if(_0x4b84b3){freeIsNotKey(_0x4b84b3,_0x52da42['vtigerAccounts'],'id');for(var _0x4306cf=0x0,_0x24cf32={},_0x587552={};_0x4306cf<_0x4b84b3[_0xfe89('0x40')];_0x4306cf+=0x1){_0x24cf32=_0x4b84b3[_0x4306cf];if(_['isUndefined'](_0x52da42[_0xfe89('0x24')][_0x24cf32['id']])){_0x52da42['vtigerAccounts'][_0x24cf32['id']]=new VtigerAccount(_0x24cf32);}else{_0x52da42[_0xfe89('0x3d')](_0x52da42[_0xfe89('0x24')][_0x24cf32['id']],_0x24cf32);}}}return _0x52da42[_0xfe89('0x24')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x4f')]=function(){var _0x2a647e=this;return function(_0x2ca51e){if(_0x2ca51e){freeIsNotKey(_0x2ca51e,_0x2a647e[_0xfe89('0x25')],'id');for(var _0x640219=0x0,_0x2780d7={},_0x5d2bb0={};_0x640219<_0x2ca51e[_0xfe89('0x40')];_0x640219+=0x1){_0x2780d7=_0x2ca51e[_0x640219];if(_[_0xfe89('0x42')](_0x2a647e['servicenowAccounts'][_0x2780d7['id']])){_0x2a647e[_0xfe89('0x25')][_0x2780d7['id']]=new ServicenowAccount(_0x2780d7);}else{_0x2a647e[_0xfe89('0x3d')](_0x2a647e[_0xfe89('0x25')][_0x2780d7['id']],_0x2780d7);}}}return _0x2a647e['servicenowAccounts'];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x50')]=function(){var _0x275735=this;return function(_0x15c01c){if(_0x15c01c){freeIsNotKey(_0x15c01c,_0x275735[_0xfe89('0x51')],'id');for(var _0x1f4072=0x0,_0x2b538e={},_0x3b2737={};_0x1f4072<_0x15c01c[_0xfe89('0x40')];_0x1f4072+=0x1){_0x2b538e=_0x15c01c[_0x1f4072];if(_[_0xfe89('0x42')](_0x275735[_0xfe89('0x51')][_0x2b538e['id']])){_0x275735['dynamics365Accounts'][_0x2b538e['id']]=new Dynamics365Account(_0x2b538e);}else{_0x275735[_0xfe89('0x3d')](_0x275735[_0xfe89('0x51')][_0x2b538e['id']],_0x2b538e);}}}return _0x275735[_0xfe89('0x51')];};};Realtime['prototype'][_0xfe89('0x52')]=function(){var _0x3145c7=this;return function(_0x17efee){if(_0x17efee){freeIsNotKey(_0x17efee,_0x3145c7[_0xfe89('0x53')],'id');for(var _0x4945e3=0x0,_0x19bca3={},_0x4ee9e2={};_0x4945e3<_0x17efee[_0xfe89('0x40')];_0x4945e3+=0x1){_0x19bca3=_0x17efee[_0x4945e3];if(_[_0xfe89('0x42')](_0x3145c7['freshsalesAccounts'][_0x19bca3['id']])){_0x3145c7[_0xfe89('0x53')][_0x19bca3['id']]=new FreshsalesAccount(_0x19bca3);}else{_0x3145c7[_0xfe89('0x3d')](_0x3145c7[_0xfe89('0x53')][_0x19bca3['id']],_0x19bca3);}}}return _0x3145c7[_0xfe89('0x53')];};};Realtime[_0xfe89('0x3c')]['initVoiceQueueHopperHistory']=function(){var _0x647d76=this;return function(_0x274705){for(var _0x53841e=0x0;_0x53841e<_0x274705[_0xfe89('0x40')];_0x53841e+=0x1){_[_0xfe89('0x54')](_0x647d76[_0xfe89('0x16')][_0x274705[_0x53841e]['name']],_0x274705[_0x53841e]);}return _0x647d76['voiceQueues'];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x55')]=function(){var _0x7fb4db=this;return function(_0x2db583){clearVoiceQueues(_0x7fb4db[_0xfe89('0x16')]);if(_0x2db583){_0x2db583=_['groupBy'](_0x2db583,'uniqueid');for(var _0x2f2e6f in _0x2db583){if(_0x2db583[_0xfe89('0x27')](_0x2f2e6f)){var _0x407468={};for(var _0x943514=0x0;_0x943514<_0x2db583[_0x2f2e6f][_0xfe89('0x40')];_0x943514+=0x1){var _0x32f630=_0x2db583[_0x2f2e6f][_0x943514]['queue'];if(_0x7fb4db[_0xfe89('0x16')][_0x32f630]){if(_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x56')]){_0x7fb4db[_0xfe89('0x16')][_0x32f630][_0xfe89('0x34')]+=0x1;}if(_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x57')]){_0x7fb4db[_0xfe89('0x16')][_0x32f630][_0xfe89('0x35')]+=0x1;}_0x7fb4db[_0xfe89('0x16')][_0x32f630]['sumHoldTime']+=moment(_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x58')])['diff'](moment(_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x59')]),'seconds')||0x0;if(_0x943514===_0x2db583[_0x2f2e6f][_0xfe89('0x40')]-0x1){_0x7fb4db[_0xfe89('0x16')][_0x32f630]['sumDuration']+=moment(_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x5a')]||_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x5b')]||_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x5c')])[_0xfe89('0x5d')](moment(_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x59')]),_0xfe89('0x5e'))||0x0;_0x7fb4db['voiceQueues'][_0x32f630][_0xfe89('0x33')]+=0x1;if(_0x2db583[_0x2f2e6f][_0x943514]['queuecallercomplete']){_0x7fb4db[_0xfe89('0x16')][_0x32f630][_0xfe89('0x2d')]+=0x1;_0x7fb4db[_0xfe89('0x16')][_0x32f630][_0xfe89('0x30')]+=moment(_0x2db583[_0x2f2e6f][_0x943514]['queuecallercompleteAt'])[_0xfe89('0x5d')](moment(_0x2db583[_0x2f2e6f][_0x943514][_0xfe89('0x58')]),_0xfe89('0x5e'))||0x0;}}else{_0x7fb4db[_0xfe89('0x16')][_0x32f630][_0xfe89('0x2f')]+=_0x7fb4db[_0xfe89('0x16')][_0x32f630][_0xfe89('0x2e')]||0x0;}}}}}}return _0x7fb4db[_0xfe89('0x16')];};};Realtime['prototype']['initVoiceCallReports']=function(){var _0x193ca0=this;return function(_0x5e922f){clearVoiceCallReports(_0x193ca0['outbound']);if(_0x5e922f){for(var _0x129cb3=0x0;_0x129cb3<_0x5e922f['length'];_0x129cb3+=0x1){_0x193ca0['outbound'][_0xfe89('0x33')]+=0x1;_0x193ca0[_0xfe89('0x19')]['sumDuration']+=_0x5e922f[_0x129cb3][_0xfe89('0x5f')];if(_0x5e922f[_0x129cb3][_0xfe89('0x60')]===_0xfe89('0x61')){_0x193ca0[_0xfe89('0x19')][_0xfe89('0x2d')]+=0x1;_0x193ca0[_0xfe89('0x19')]['sumHoldTime']+=_0x5e922f[_0x129cb3]['duration']-_0x5e922f[_0x129cb3]['billableseconds']||0x0;_0x193ca0['outbound'][_0xfe89('0x30')]+=_0x5e922f[_0x129cb3][_0xfe89('0x62')];}}}return _0x193ca0['outbound'];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x63')]=function(){var _0x369bd9=this;return function(_0x3be301){if(_0x3be301){freeIsNotKey(_0x3be301,_0x369bd9[_0xfe89('0x17')],_0xfe89('0x2a'));for(var _0x2c02a1=0x0,_0x2b6ea0={};_0x2c02a1<_0x3be301[_0xfe89('0x40')];_0x2c02a1+=0x1){_0x2b6ea0=_0x3be301[_0x2c02a1];if(_[_0xfe89('0x42')](_0x369bd9['campaigns'][_0x2b6ea0[_0xfe89('0x2a')]])){_0x369bd9[_0xfe89('0x17')][_0x2b6ea0['name']]=new Campaign(_0x2b6ea0);}else{_0x369bd9[_0xfe89('0x3d')](_0x369bd9[_0xfe89('0x17')][_0x2b6ea0[_0xfe89('0x2a')]],_0x2b6ea0);_0x369bd9[_0xfe89('0x17')][_0x2b6ea0[_0xfe89('0x2a')]][_0xfe89('0x64')]=_0x2b6ea0[_0xfe89('0x65')]?_0x2b6ea0['SquareProject'][_0xfe89('0x2a')]:undefined;}}}return _0x369bd9[_0xfe89('0x17')];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x66')]=function(){var _0x50a45c=this;return function(_0xba6c90){if(_0xba6c90){freeIsNotKey(_0xba6c90,_0x50a45c[_0xfe89('0x67')],'id');for(var _0xfde478=0x0,_0x3efff7={};_0xfde478<_0xba6c90[_0xfe89('0x40')];_0xfde478+=0x1){_0x3efff7=_0xba6c90[_0xfde478];if(_[_0xfe89('0x42')](_0x50a45c[_0xfe89('0x67')][_0x3efff7['id']])){_0x50a45c['voiceExtensions'][_0x3efff7['id']]=new VoiceExtension(_0x3efff7);}else{_0x50a45c[_0xfe89('0x3d')](_0x50a45c[_0xfe89('0x67')][_0x3efff7['id']],_0x3efff7);}}}return _0x50a45c['voiceExtensions'];};};Realtime[_0xfe89('0x3c')][_0xfe89('0x68')]=function(){var _0x57030b=this;return function(_0x1d804c){clearCampaigns(_0x57030b[_0xfe89('0x17')]);for(var _0x20bba8=0x0;_0x20bba8<_0x1d804c['length'];_0x20bba8+=0x1){_['merge'](_0x57030b[_0xfe89('0x17')][_0x1d804c[_0x20bba8][_0xfe89('0x2a')]],_0x1d804c[_0x20bba8]);}return _0x57030b['campaigns'];};};Realtime['prototype'][_0xfe89('0x69')]=function(){var _0x389434=this;return function(_0x41bb0a){if(_0x41bb0a){freeIsNotKey(_0x41bb0a,_0x389434[_0xfe89('0x26')],'id');for(var _0x571ea5=0x0,_0x28b647={},_0x44bd43={};_0x571ea5<_0x41bb0a[_0xfe89('0x40')];_0x571ea5+=0x1){_0x28b647=_0x41bb0a[_0x571ea5];if(_[_0xfe89('0x42')](_0x389434['faxAccounts'][_0x28b647['id']])){_0x389434[_0xfe89('0x26')][_0x28b647['id']]=new FaxAccount(_0x28b647);}else{_0x389434[_0xfe89('0x3d')](_0x389434[_0xfe89('0x26')][_0x28b647['id']],_0x28b647);}}}return _0x389434[_0xfe89('0x26')];};};module[_0xfe89('0x6a')]=Realtime;