123456789101112131415161718192021222324252627282930313233343536 |
- import { PARTICIPANT_JOINED } from '../base/participants/actionTypes';
- import { MiddlewareRegistry } from '../base/redux';
-
- import { SET_BILLING_ID } from './actionTypes';
- import { countEndpoint } from './actions';
- import { setBillingId } 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 SET_BILLING_ID: {
- setBillingId(action.value);
-
- break;
- }
-
- case PARTICIPANT_JOINED: {
- const shouldCount = !store.getState()['features/billing-counter'].endpointCounted
- && !action.participant.local;
-
- if (shouldCount) {
- store.dispatch(countEndpoint());
- }
-
- break;
- }
- }
-
- return next(action);
- });
|