123456789101112131415161718192021222324252627282930313233343536373839 |
- import { createVpaasConferenceJoinedEvent } from '../analytics/AnalyticsEvents';
- import { sendAnalytics } from '../analytics/functions';
- import { IReduxState } from '../app/types';
- import { CONFERENCE_JOINED } from '../base/conference/actionTypes';
- import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
-
- import { getVpaasTenant, isVpaasMeeting } from './functions';
-
- /**
- * The redux middleware for billing counter.
- *
- * @param {Store} store - The redux store.
- * @returns {Function}
- */
-
- MiddlewareRegistry.register(store => next => async action => {
- switch (action.type) {
- case CONFERENCE_JOINED: {
- _maybeTrackVpaasConferenceJoin(store.getState());
-
- break;
- }
- }
-
- return next(action);
- });
-
- /**
- * Tracks the conference join event if the meeting is a vpaas one.
- *
- * @param {Store} state - The app state.
- * @returns {Function}
- */
- function _maybeTrackVpaasConferenceJoin(state: IReduxState) {
- if (isVpaasMeeting(state)) {
- sendAnalytics(createVpaasConferenceJoinedEvent(
- getVpaasTenant(state)));
- }
- }
|