Built motion from commit (unavailable).|2.5.31
[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 _0xbec5=['initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','dialQueueProject','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','exports','bluebird','util','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/template','../model/campaign','../model/voiceExtension','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','telephones','trunks','voiceQueues','campaigns','templates','outbound','channels','queueChannels','timers','settings','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','isNil','format','interface','total','answered','sumHoldTime','isEmpty','ivrAnswerCallsDay','unmanaged','abandoned','sumDuration','sumBillable','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','initAgents','agents','name','isUndefined','initTelephones','length','initTrunks','initTriggers','triggers','initTemplates','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','queue','queuecallerabandon','queuecallerleaveAt','seconds','queuecallerabandonAt','diff','queuecallerjoinAt','queuecallercomplete','queuecallercompleteAt'];(function(_0x2a5b3b,_0x4ebe31){var _0xae665a=function(_0x59e86a){while(--_0x59e86a){_0x2a5b3b['push'](_0x2a5b3b['shift']());}};_0xae665a(++_0x4ebe31);}(_0xbec5,0xe5));var _0x5bec=function(_0x550e29,_0x4047f){_0x550e29=_0x550e29-0x0;var _0x3515b6=_0xbec5[_0x550e29];return _0x3515b6;};'use strict';var BPromise=require(_0x5bec('0x0'));var util=require(_0x5bec('0x1'));var _=require('lodash');var moment=require(_0x5bec('0x2'));var Agent=require(_0x5bec('0x3'));var Telephone=require(_0x5bec('0x4'));var Trunk=require(_0x5bec('0x5'));var VoiceQueue=require(_0x5bec('0x6'));var Trigger=require('../model/trigger');var Template=require(_0x5bec('0x7'));var Campaign=require(_0x5bec('0x8'));var VoiceExtension=require(_0x5bec('0x9'));var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0x5bec('0xa'));var FreshdeskAccount=require(_0x5bec('0xb'));var SugarcrmAccount=require(_0x5bec('0xc'));var ZohoAccount=require(_0x5bec('0xd'));var DeskAccount=require(_0x5bec('0xe'));var VtigerAccount=require(_0x5bec('0xf'));var ServicenowAccount=require(_0x5bec('0x10'));var Dynamics365Account=require(_0x5bec('0x11'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x5bec('0x12'));var Realtime=function(){this['agents']={};this[_0x5bec('0x13')]={};this[_0x5bec('0x14')]={};this[_0x5bec('0x15')]={};this['triggers']={};this[_0x5bec('0x16')]={};this[_0x5bec('0x17')]={};this[_0x5bec('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0x5bec('0x19')]={};this[_0x5bec('0x1a')]={};this['outboundChannels']={};this[_0x5bec('0x1b')]={};this[_0x5bec('0x1c')]={};this[_0x5bec('0x1d')]={};this[_0x5bec('0x1e')]={};this[_0x5bec('0x1f')]={};this[_0x5bec('0x20')]={};this[_0x5bec('0x21')]={};this[_0x5bec('0x22')]={};this[_0x5bec('0x23')]={};this[_0x5bec('0x24')]={};this[_0x5bec('0x25')]={};this[_0x5bec('0x26')]={};this[_0x5bec('0x27')]={};};function freeIsNotKey(_0x506639,_0x4ab821,_0x15af9b){var _0x773740=_[_0x5bec('0x28')](_0x506639,function(_0x1771e7,_0x5cd7ae){return _0x1771e7[_0x15af9b];});for(var _0x5295f0 in _0x4ab821){if(_0x4ab821[_0x5bec('0x29')](_0x5295f0)){if(!_0x773740[_0x5295f0]){delete _0x4ab821[_0x5295f0];}}}}function freeIsNotKeySip(_0x6c0d35,_0x4e0191){var _0x339614=_[_0x5bec('0x28')](_0x6c0d35,function(_0x32a846,_0x593786){return util['format'](_0x5bec('0x2a'),_0x32a846['name']);});for(var _0x191c0f in _0x4e0191){if(_0x4e0191[_0x5bec('0x29')](_0x191c0f)){if(!_0x339614[_0x191c0f]){delete _0x4e0191[_0x191c0f];}}}}function freeIsNotKeyAgent(_0x3e1896,_0x43a62d){var _0xfed23=_['mapKeys'](_0x3e1896,function(_0x232584,_0x4cfcb8){var _0x2b2d26=_[_0x5bec('0x2b')](_0x232584['interface'])?util[_0x5bec('0x2c')](_0x5bec('0x2a'),_0x232584['name']):_0x232584[_0x5bec('0x2d')];return _0x2b2d26;});for(var _0x218c13 in _0x43a62d){if(_0x43a62d[_0x5bec('0x29')](_0x218c13)){if(!_0xfed23[_0x218c13]){delete _0x43a62d[_0x218c13];}}}}function clearVoiceCallReports(_0x20da89){_0x20da89[_0x5bec('0x2e')]=0x0;_0x20da89[_0x5bec('0x2f')]=0x0;_0x20da89[_0x5bec('0x30')]=0x0;_0x20da89['sumDuration']=0x0;_0x20da89['sumBillable']=0x0;}function clearCampaigns(_0x5e44b3){if(!_[_0x5bec('0x31')](_0x5e44b3)){for(var _0x2cdd2f in _0x5e44b3){if(_0x5e44b3[_0x5bec('0x29')](_0x2cdd2f)){_0x5e44b3[_0x2cdd2f]['ivrTotalCallsDays']=0x0;_0x5e44b3[_0x2cdd2f][_0x5bec('0x32')]=0x0;}}}}function clearVoiceQueues(_0x472e54){if(!_['isEmpty'](_0x472e54)){for(var _0x29e358 in _0x472e54){if(_0x472e54[_0x5bec('0x29')](_0x29e358)){_0x472e54[_0x29e358]['total']=0x0;_0x472e54[_0x29e358]['answered']=0x0;_0x472e54[_0x29e358][_0x5bec('0x33')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x34')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x30')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x35')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x36')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x37')]=0x0;_0x472e54[_0x29e358]['outboundNoAnswerCallsDay']=0x0;_0x472e54[_0x29e358][_0x5bec('0x38')]=0x0;_0x472e54[_0x29e358]['outboundCongestionCallsDay']=0x0;_0x472e54[_0x29e358][_0x5bec('0x39')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x3a')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x3b')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x3c')]=0x0;_0x472e54[_0x29e358]['outboundBlacklistCallsDay']=0x0;_0x472e54[_0x29e358][_0x5bec('0x3d')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x3e')]=0x0;_0x472e54[_0x29e358][_0x5bec('0x3f')]=0x0;_0x472e54[_0x29e358]['outboundAnswerAgiCallsDay']=0x0;_0x472e54[_0x29e358][_0x5bec('0x40')]=0x0;_0x472e54[_0x29e358]['queueStatusComplete']=!![];}}}}Realtime[_0x5bec('0x41')][_0x5bec('0x42')]=function(_0x29df14,_0x551ec0){for(var _0xdc831e in _0x551ec0){if(_0x29df14[_0x5bec('0x29')](_0xdc831e)){_0x29df14[_0xdc831e]=_0x551ec0[_0xdc831e];}}};Realtime['prototype'][_0x5bec('0x43')]=function(){var _0x2e5efc=this;return function(_0x24aa2f){if(_0x24aa2f){freeIsNotKeyAgent(_0x24aa2f,_0x2e5efc[_0x5bec('0x44')]);for(var _0x1c85a=0x0,_0x56869f={},_0x7ebd9c={};_0x1c85a<_0x24aa2f['length'];_0x1c85a+=0x1){_0x56869f=_0x24aa2f[_0x1c85a];var _0x2d3793=_[_0x5bec('0x2b')](_0x56869f[_0x5bec('0x2d')])?util[_0x5bec('0x2c')](_0x5bec('0x2a'),_0x56869f[_0x5bec('0x45')]):_0x56869f['interface'];if(_[_0x5bec('0x46')](_0x2e5efc[_0x5bec('0x44')][_0x2d3793])){_0x2e5efc[_0x5bec('0x44')][_0x2d3793]=new Agent(_0x56869f);}else{_0x2e5efc['mergeFromDatabase'](_0x2e5efc[_0x5bec('0x44')][_0x2d3793],_0x56869f);}}}return _0x2e5efc[_0x5bec('0x44')];};};Realtime['prototype'][_0x5bec('0x47')]=function(){var _0x58c34e=this;return function(_0x400e22){if(_0x400e22){freeIsNotKeySip(_0x400e22,_0x58c34e[_0x5bec('0x13')]);for(var _0x402e5d=0x0,_0x49cdfa={},_0xd7b727={};_0x402e5d<_0x400e22[_0x5bec('0x48')];_0x402e5d+=0x1){_0x49cdfa=_0x400e22[_0x402e5d];if(_[_0x5bec('0x46')](_0x58c34e[_0x5bec('0x13')][util[_0x5bec('0x2c')](_0x5bec('0x2a'),_0x49cdfa[_0x5bec('0x45')])])){_0x58c34e['telephones'][util[_0x5bec('0x2c')](_0x5bec('0x2a'),_0x49cdfa[_0x5bec('0x45')])]=new Telephone(_0x49cdfa);}else{_0x58c34e[_0x5bec('0x42')](_0x58c34e['telephones'][util[_0x5bec('0x2c')](_0x5bec('0x2a'),_0x49cdfa[_0x5bec('0x45')])],_0x49cdfa);}}}return _0x58c34e['telephones'];};};Realtime['prototype'][_0x5bec('0x49')]=function(){var _0x153d02=this;return function(_0x2acc0e){if(_0x2acc0e){freeIsNotKeySip(_0x2acc0e,_0x153d02[_0x5bec('0x14')]);for(var _0x46f83d=0x0,_0x4ec405={},_0x4fee8a={};_0x46f83d<_0x2acc0e[_0x5bec('0x48')];_0x46f83d+=0x1){_0x4ec405=_0x2acc0e[_0x46f83d];if(_['isUndefined'](_0x153d02[_0x5bec('0x14')][util[_0x5bec('0x2c')](_0x5bec('0x2a'),_0x4ec405['name'])])){_0x153d02[_0x5bec('0x14')][util[_0x5bec('0x2c')]('SIP/%s',_0x4ec405[_0x5bec('0x45')])]=new Trunk(_0x4ec405);}else{_0x153d02[_0x5bec('0x42')](_0x153d02[_0x5bec('0x14')][util[_0x5bec('0x2c')](_0x5bec('0x2a'),_0x4ec405[_0x5bec('0x45')])],_0x4ec405);}}}return _0x153d02[_0x5bec('0x14')];};};Realtime['prototype']['initVoiceQueues']=function(){var _0x776912=this;return function(_0x4bfa57){if(_0x4bfa57){freeIsNotKey(_0x4bfa57,_0x776912['voiceQueues'],_0x5bec('0x45'));for(var _0x5bc5f6=0x0,_0x563d87={},_0x48bff0={};_0x5bc5f6<_0x4bfa57[_0x5bec('0x48')];_0x5bc5f6+=0x1){_0x563d87=_0x4bfa57[_0x5bc5f6];if(_[_0x5bec('0x46')](_0x776912[_0x5bec('0x15')][_0x563d87[_0x5bec('0x45')]])){_0x776912['voiceQueues'][_0x563d87[_0x5bec('0x45')]]=new VoiceQueue(_0x563d87);}else{_0x776912[_0x5bec('0x42')](_0x776912[_0x5bec('0x15')][_0x563d87[_0x5bec('0x45')]],_0x563d87);}}}return _0x776912['voiceQueues'];};};Realtime[_0x5bec('0x41')][_0x5bec('0x4a')]=function(){var _0x2bbb1a=this;return function(_0x51a3f9){if(_0x51a3f9){freeIsNotKey(_0x51a3f9,_0x2bbb1a[_0x5bec('0x4b')],'id');for(var _0x4c3c6c=0x0,_0xc73d1a={},_0x30aad7={};_0x4c3c6c<_0x51a3f9[_0x5bec('0x48')];_0x4c3c6c+=0x1){_0xc73d1a=_0x51a3f9[_0x4c3c6c];if(_[_0x5bec('0x46')](_0x2bbb1a['triggers'][_0xc73d1a['id']])){_0x2bbb1a[_0x5bec('0x4b')][_0xc73d1a['id']]=new Trigger(_0xc73d1a);}else{_0x2bbb1a[_0x5bec('0x42')](_0x2bbb1a[_0x5bec('0x4b')][_0xc73d1a['id']],_0xc73d1a);}}}return _0x2bbb1a[_0x5bec('0x4b')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x4c')]=function(){var _0x807808=this;return function(_0x47deb1){if(_0x47deb1){freeIsNotKey(_0x47deb1,_0x807808[_0x5bec('0x17')],'id');for(var _0x35d8b7=0x0,_0x5775ca={},_0x273e09={};_0x35d8b7<_0x47deb1[_0x5bec('0x48')];_0x35d8b7+=0x1){_0x5775ca=_0x47deb1[_0x35d8b7];if(_[_0x5bec('0x46')](_0x807808[_0x5bec('0x17')][_0x5775ca['id']])){_0x807808[_0x5bec('0x17')][_0x5775ca['id']]=new Template(_0x5775ca);}else{_0x807808[_0x5bec('0x42')](_0x807808[_0x5bec('0x17')][_0x5775ca['id']],_0x5775ca);}}}return _0x807808['templates'];};};Realtime[_0x5bec('0x41')]['initZendeskAccounts']=function(){var _0x3bbeff=this;return function(_0x208c7b){if(_0x208c7b){freeIsNotKey(_0x208c7b,_0x3bbeff[_0x5bec('0x1d')],'id');for(var _0x2c75e0=0x0,_0x158e8e={},_0x1c6401={};_0x2c75e0<_0x208c7b[_0x5bec('0x48')];_0x2c75e0+=0x1){_0x158e8e=_0x208c7b[_0x2c75e0];if(_[_0x5bec('0x46')](_0x3bbeff[_0x5bec('0x1d')][_0x158e8e['id']])){_0x3bbeff[_0x5bec('0x1d')][_0x158e8e['id']]=new ZendeskAccount(_0x158e8e);}else{_0x3bbeff['mergeFromDatabase'](_0x3bbeff[_0x5bec('0x1d')][_0x158e8e['id']],_0x158e8e);}}}return _0x3bbeff['zendeskAccounts'];};};Realtime['prototype'][_0x5bec('0x4d')]=function(){var _0x56ed27=this;return function(_0x4ffd11){if(_0x4ffd11){freeIsNotKey(_0x4ffd11,_0x56ed27[_0x5bec('0x1e')],'id');for(var _0x2114e5=0x0,_0x416058={},_0x5a922e={};_0x2114e5<_0x4ffd11[_0x5bec('0x48')];_0x2114e5+=0x1){_0x416058=_0x4ffd11[_0x2114e5];if(_[_0x5bec('0x46')](_0x56ed27[_0x5bec('0x1e')][_0x416058['id']])){_0x56ed27[_0x5bec('0x1e')][_0x416058['id']]=new SalesforceAccount(_0x416058);}else{_0x56ed27['mergeFromDatabase'](_0x56ed27[_0x5bec('0x1e')][_0x416058['id']],_0x416058);}}}return _0x56ed27[_0x5bec('0x1e')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x4e')]=function(){var _0x2f736c=this;return function(_0x3ddf28){if(_0x3ddf28){freeIsNotKey(_0x3ddf28,_0x2f736c[_0x5bec('0x20')],'id');for(var _0x47ea9f=0x0,_0x504dda={},_0x755386={};_0x47ea9f<_0x3ddf28['length'];_0x47ea9f+=0x1){_0x504dda=_0x3ddf28[_0x47ea9f];if(_[_0x5bec('0x46')](_0x2f736c[_0x5bec('0x20')][_0x504dda['id']])){_0x2f736c['freshdeskAccounts'][_0x504dda['id']]=new FreshdeskAccount(_0x504dda);}else{_0x2f736c[_0x5bec('0x42')](_0x2f736c['freshdeskAccounts'][_0x504dda['id']],_0x504dda);}}}return _0x2f736c[_0x5bec('0x20')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x4f')]=function(){var _0x17e033=this;return function(_0x2fb334){if(_0x2fb334){freeIsNotKey(_0x2fb334,_0x17e033[_0x5bec('0x21')],'id');for(var _0x2e4293=0x0,_0x2c2e44={},_0x11d928={};_0x2e4293<_0x2fb334[_0x5bec('0x48')];_0x2e4293+=0x1){_0x2c2e44=_0x2fb334[_0x2e4293];if(_[_0x5bec('0x46')](_0x17e033[_0x5bec('0x21')][_0x2c2e44['id']])){_0x17e033[_0x5bec('0x21')][_0x2c2e44['id']]=new ZohoAccount(_0x2c2e44);}else{_0x17e033[_0x5bec('0x42')](_0x17e033['zohoAccounts'][_0x2c2e44['id']],_0x2c2e44);}}}return _0x17e033[_0x5bec('0x21')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x50')]=function(){var _0x56a539=this;return function(_0x3801e3){if(_0x3801e3){freeIsNotKey(_0x3801e3,_0x56a539[_0x5bec('0x22')],'id');for(var _0xfc5d80=0x0,_0x340cd9={},_0x19a1c9={};_0xfc5d80<_0x3801e3['length'];_0xfc5d80+=0x1){_0x340cd9=_0x3801e3[_0xfc5d80];if(_[_0x5bec('0x46')](_0x56a539[_0x5bec('0x22')][_0x340cd9['id']])){_0x56a539[_0x5bec('0x22')][_0x340cd9['id']]=new DeskAccount(_0x340cd9);}else{_0x56a539[_0x5bec('0x42')](_0x56a539['deskAccounts'][_0x340cd9['id']],_0x340cd9);}}}return _0x56a539[_0x5bec('0x22')];};};Realtime['prototype'][_0x5bec('0x51')]=function(){var _0x38deb0=this;return function(_0x3c7782){if(_0x3c7782){freeIsNotKey(_0x3c7782,_0x38deb0[_0x5bec('0x1f')],'id');for(var _0x4b50a2=0x0,_0x268cc5={},_0x3ec201={};_0x4b50a2<_0x3c7782[_0x5bec('0x48')];_0x4b50a2+=0x1){_0x268cc5=_0x3c7782[_0x4b50a2];if(_[_0x5bec('0x46')](_0x38deb0[_0x5bec('0x1f')][_0x268cc5['id']])){_0x38deb0[_0x5bec('0x1f')][_0x268cc5['id']]=new SugarcrmAccount(_0x268cc5);}else{_0x38deb0[_0x5bec('0x42')](_0x38deb0[_0x5bec('0x1f')][_0x268cc5['id']],_0x268cc5);}}}return _0x38deb0[_0x5bec('0x1f')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x52')]=function(){var _0x42d4e4=this;return function(_0x65a9e2){if(_0x65a9e2){freeIsNotKey(_0x65a9e2,_0x42d4e4[_0x5bec('0x23')],'id');for(var _0x1e98ee=0x0,_0x490d4b={},_0xeceefc={};_0x1e98ee<_0x65a9e2[_0x5bec('0x48')];_0x1e98ee+=0x1){_0x490d4b=_0x65a9e2[_0x1e98ee];if(_['isUndefined'](_0x42d4e4[_0x5bec('0x23')][_0x490d4b['id']])){_0x42d4e4['vtigerAccounts'][_0x490d4b['id']]=new VtigerAccount(_0x490d4b);}else{_0x42d4e4[_0x5bec('0x42')](_0x42d4e4[_0x5bec('0x23')][_0x490d4b['id']],_0x490d4b);}}}return _0x42d4e4['vtigerAccounts'];};};Realtime['prototype'][_0x5bec('0x53')]=function(){var _0xcac51d=this;return function(_0xb6cf85){if(_0xb6cf85){freeIsNotKey(_0xb6cf85,_0xcac51d[_0x5bec('0x24')],'id');for(var _0x2c7a94=0x0,_0x558d38={},_0x139146={};_0x2c7a94<_0xb6cf85[_0x5bec('0x48')];_0x2c7a94+=0x1){_0x558d38=_0xb6cf85[_0x2c7a94];if(_['isUndefined'](_0xcac51d[_0x5bec('0x24')][_0x558d38['id']])){_0xcac51d[_0x5bec('0x24')][_0x558d38['id']]=new ServicenowAccount(_0x558d38);}else{_0xcac51d[_0x5bec('0x42')](_0xcac51d[_0x5bec('0x24')][_0x558d38['id']],_0x558d38);}}}return _0xcac51d['servicenowAccounts'];};};Realtime[_0x5bec('0x41')]['initDynamics365Accounts']=function(){var _0x465c0a=this;return function(_0x18d7af){if(_0x18d7af){freeIsNotKey(_0x18d7af,_0x465c0a[_0x5bec('0x25')],'id');for(var _0x34e172=0x0,_0x31b2c6={},_0x222526={};_0x34e172<_0x18d7af[_0x5bec('0x48')];_0x34e172+=0x1){_0x31b2c6=_0x18d7af[_0x34e172];if(_[_0x5bec('0x46')](_0x465c0a[_0x5bec('0x25')][_0x31b2c6['id']])){_0x465c0a[_0x5bec('0x25')][_0x31b2c6['id']]=new Dynamics365Account(_0x31b2c6);}else{_0x465c0a[_0x5bec('0x42')](_0x465c0a['dynamics365Accounts'][_0x31b2c6['id']],_0x31b2c6);}}}return _0x465c0a['dynamics365Accounts'];};};Realtime[_0x5bec('0x41')][_0x5bec('0x54')]=function(){var _0x84b315=this;return function(_0x41bf69){if(_0x41bf69){freeIsNotKey(_0x41bf69,_0x84b315[_0x5bec('0x26')],'id');for(var _0x4745a7=0x0,_0xbf8b50={},_0x52f358={};_0x4745a7<_0x41bf69['length'];_0x4745a7+=0x1){_0xbf8b50=_0x41bf69[_0x4745a7];if(_[_0x5bec('0x46')](_0x84b315[_0x5bec('0x26')][_0xbf8b50['id']])){_0x84b315[_0x5bec('0x26')][_0xbf8b50['id']]=new FreshsalesAccount(_0xbf8b50);}else{_0x84b315[_0x5bec('0x42')](_0x84b315[_0x5bec('0x26')][_0xbf8b50['id']],_0xbf8b50);}}}return _0x84b315[_0x5bec('0x26')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x55')]=function(){var _0x132c57=this;return function(_0x29b7ae){for(var _0x10550a=0x0;_0x10550a<_0x29b7ae[_0x5bec('0x48')];_0x10550a+=0x1){_[_0x5bec('0x56')](_0x132c57[_0x5bec('0x15')][_0x29b7ae[_0x10550a][_0x5bec('0x45')]],_0x29b7ae[_0x10550a]);}return _0x132c57[_0x5bec('0x15')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x57')]=function(){var _0x2201a3=this;return function(_0x16b0cf){clearVoiceQueues(_0x2201a3['voiceQueues']);if(_0x16b0cf){_0x16b0cf=_[_0x5bec('0x58')](_0x16b0cf,'uniqueid');for(var _0x4d6e59 in _0x16b0cf){if(_0x16b0cf[_0x5bec('0x29')](_0x4d6e59)){var _0x5c2306={};for(var _0x327b61=0x0;_0x327b61<_0x16b0cf[_0x4d6e59]['length'];_0x327b61+=0x1){var _0x5ca280=_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x59')];if(_0x2201a3[_0x5bec('0x15')][_0x5ca280]){if(_0x16b0cf[_0x4d6e59][_0x327b61]['queuecallerexit']){_0x2201a3[_0x5bec('0x15')][_0x5ca280][_0x5bec('0x33')]+=0x1;}if(_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x5a')]){_0x2201a3[_0x5bec('0x15')][_0x5ca280][_0x5bec('0x34')]+=0x1;}_0x2201a3[_0x5bec('0x15')][_0x5ca280][_0x5bec('0x30')]+=moment(_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x5b')])['diff'](moment(_0x16b0cf[_0x4d6e59][_0x327b61]['queuecallerjoinAt']),_0x5bec('0x5c'))||0x0;if(_0x327b61===_0x16b0cf[_0x4d6e59][_0x5bec('0x48')]-0x1){_0x2201a3[_0x5bec('0x15')][_0x5ca280][_0x5bec('0x35')]+=moment(_0x16b0cf[_0x4d6e59][_0x327b61]['queuecallercompleteAt']||_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x5d')]||_0x16b0cf[_0x4d6e59][_0x327b61]['queuecallerexitAt'])[_0x5bec('0x5e')](moment(_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x5f')]),_0x5bec('0x5c'))||0x0;_0x2201a3[_0x5bec('0x15')][_0x5ca280][_0x5bec('0x2e')]+=0x1;if(_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x60')]){_0x2201a3[_0x5bec('0x15')][_0x5ca280][_0x5bec('0x2f')]+=0x1;_0x2201a3['voiceQueues'][_0x5ca280][_0x5bec('0x36')]+=moment(_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x61')])[_0x5bec('0x5e')](moment(_0x16b0cf[_0x4d6e59][_0x327b61][_0x5bec('0x5b')]),_0x5bec('0x5c'))||0x0;}}else{_0x2201a3['voiceQueues'][_0x5ca280][_0x5bec('0x35')]+=_0x2201a3[_0x5bec('0x15')][_0x5ca280]['sumHoldTime']||0x0;}}}}}}return _0x2201a3[_0x5bec('0x15')];};};Realtime['prototype'][_0x5bec('0x62')]=function(){var _0x3130bc=this;return function(_0x4646a3){clearVoiceCallReports(_0x3130bc[_0x5bec('0x18')]);if(_0x4646a3){for(var _0x437c3e=0x0;_0x437c3e<_0x4646a3[_0x5bec('0x48')];_0x437c3e+=0x1){_0x3130bc[_0x5bec('0x18')][_0x5bec('0x2e')]+=0x1;_0x3130bc[_0x5bec('0x18')][_0x5bec('0x35')]+=_0x4646a3[_0x437c3e][_0x5bec('0x63')];if(_0x4646a3[_0x437c3e][_0x5bec('0x64')]===_0x5bec('0x65')){_0x3130bc[_0x5bec('0x18')][_0x5bec('0x2f')]+=0x1;_0x3130bc[_0x5bec('0x18')][_0x5bec('0x30')]+=_0x4646a3[_0x437c3e][_0x5bec('0x63')]-_0x4646a3[_0x437c3e]['billableseconds']||0x0;_0x3130bc[_0x5bec('0x18')]['sumBillable']+=_0x4646a3[_0x437c3e][_0x5bec('0x66')];}}}return _0x3130bc[_0x5bec('0x18')];};};Realtime['prototype']['initCampaigns']=function(){var _0x289324=this;return function(_0x4f363d){if(_0x4f363d){freeIsNotKey(_0x4f363d,_0x289324[_0x5bec('0x16')],'name');for(var _0x1e5472=0x0,_0x27b40b={};_0x1e5472<_0x4f363d['length'];_0x1e5472+=0x1){_0x27b40b=_0x4f363d[_0x1e5472];if(_[_0x5bec('0x46')](_0x289324['campaigns'][_0x27b40b[_0x5bec('0x45')]])){_0x289324['campaigns'][_0x27b40b[_0x5bec('0x45')]]=new Campaign(_0x27b40b);}else{_0x289324[_0x5bec('0x42')](_0x289324['campaigns'][_0x27b40b[_0x5bec('0x45')]],_0x27b40b);_0x289324[_0x5bec('0x16')][_0x27b40b[_0x5bec('0x45')]][_0x5bec('0x67')]=_0x27b40b[_0x5bec('0x68')]?_0x27b40b[_0x5bec('0x68')]['name']:undefined;}}}return _0x289324[_0x5bec('0x16')];};};Realtime['prototype'][_0x5bec('0x69')]=function(){var _0x5a1070=this;return function(_0x59882b){if(_0x59882b){freeIsNotKey(_0x59882b,_0x5a1070[_0x5bec('0x6a')],'id');for(var _0xf82ec2=0x0,_0xce9676={};_0xf82ec2<_0x59882b['length'];_0xf82ec2+=0x1){_0xce9676=_0x59882b[_0xf82ec2];if(_[_0x5bec('0x46')](_0x5a1070[_0x5bec('0x6a')][_0xce9676['id']])){_0x5a1070[_0x5bec('0x6a')][_0xce9676['id']]=new VoiceExtension(_0xce9676);}else{_0x5a1070[_0x5bec('0x42')](_0x5a1070['voiceExtensions'][_0xce9676['id']],_0xce9676);}}}return _0x5a1070[_0x5bec('0x6a')];};};Realtime[_0x5bec('0x41')][_0x5bec('0x6b')]=function(){var _0xfc95c5=this;return function(_0x530c2b){clearCampaigns(_0xfc95c5[_0x5bec('0x16')]);for(var _0x2da8bc=0x0;_0x2da8bc<_0x530c2b[_0x5bec('0x48')];_0x2da8bc+=0x1){_[_0x5bec('0x56')](_0xfc95c5[_0x5bec('0x16')][_0x530c2b[_0x2da8bc][_0x5bec('0x45')]],_0x530c2b[_0x2da8bc]);}return _0xfc95c5[_0x5bec('0x16')];};};Realtime[_0x5bec('0x41')]['initFaxAccounts']=function(){var _0x2dc78b=this;return function(_0x445ea3){if(_0x445ea3){freeIsNotKey(_0x445ea3,_0x2dc78b[_0x5bec('0x27')],'id');for(var _0x1188ef=0x0,_0x1c9af0={},_0x48f844={};_0x1188ef<_0x445ea3[_0x5bec('0x48')];_0x1188ef+=0x1){_0x1c9af0=_0x445ea3[_0x1188ef];if(_[_0x5bec('0x46')](_0x2dc78b['faxAccounts'][_0x1c9af0['id']])){_0x2dc78b[_0x5bec('0x27')][_0x1c9af0['id']]=new FaxAccount(_0x1c9af0);}else{_0x2dc78b['mergeFromDatabase'](_0x2dc78b[_0x5bec('0x27')][_0x1c9af0['id']],_0x1c9af0);}}}return _0x2dc78b[_0x5bec('0x27')];};};module[_0x5bec('0x6c')]=Realtime;