Przeglądaj źródła

feat(billing-counter) Removed iframe billing-counter callbacks (#9537)

* Removed iframe billing-counter callbacks

* Moved remaining items to jaas

* Fixed import path

* Removed billingCounter condition

* Use getvpaasTenant in middleware

* Removed billingId

* Path fix

* Removed jwt from isVpaasMeeting

* Fix isVpaas
master
robertpin 3 lat temu
rodzic
commit
4276f82c03
No account linked to committer's email address
29 zmienionych plików z 71 dodań i 242 usunięć
  1. 1
    2
      connection.js
  2. 1
    1
      react/features/app/actions.js
  3. 0
    1
      react/features/app/middlewares.any.js
  4. 0
    1
      react/features/app/reducers.any.js
  5. 1
    1
      react/features/base/react/components/web/Watermarks.js
  6. 0
    4
      react/features/billing-counter/actionTypes.js
  7. 0
    42
      react/features/billing-counter/actions.js
  8. 0
    9
      react/features/billing-counter/constants.js
  9. 0
    112
      react/features/billing-counter/functions.js
  10. 0
    5
      react/features/billing-counter/logger.js
  11. 0
    29
      react/features/billing-counter/reducer.js
  12. 1
    1
      react/features/chrome-extension-banner/components/ChromeExtensionBanner.web.js
  13. 0
    2
      react/features/conference/functions.web.js
  14. 1
    1
      react/features/deep-linking/functions.js
  15. 1
    1
      react/features/feedback/actions.js
  16. 1
    1
      react/features/invite/components/add-people-dialog/web/AddPeopleDialog.js
  17. 1
    1
      react/features/invite/components/add-people-dialog/web/InviteContactsForm.js
  18. 1
    1
      react/features/invite/functions.js
  19. 2
    3
      react/features/jaas/actions.web.js
  20. 5
    0
      react/features/jaas/constants.js
  21. 45
    1
      react/features/jaas/functions.js
  22. 2
    16
      react/features/jaas/middleware.any.js
  23. 2
    1
      react/features/jaas/middleware.web.js
  24. 1
    1
      react/features/reactions/middleware.js
  25. 1
    1
      react/features/recording/actions.any.js
  26. 1
    1
      react/features/recording/components/Recording/StartRecordingDialogContent.js
  27. 1
    1
      react/features/toolbox/components/DownloadButton.js
  28. 1
    1
      react/features/toolbox/components/HelpButton.js
  29. 1
    1
      react/features/toolbox/components/web/Toolbox.js

+ 1
- 2
connection.js Wyświetl plik

17
     JitsiConnectionErrors,
17
     JitsiConnectionErrors,
18
     JitsiConnectionEvents
18
     JitsiConnectionEvents
19
 } from './react/features/base/lib-jitsi-meet';
19
 } from './react/features/base/lib-jitsi-meet';
20
-import { isVpaasMeeting } from './react/features/billing-counter/functions';
21
-import { getJaasJWT } from './react/features/jaas/functions';
20
+import { isVpaasMeeting, getJaasJWT } from './react/features/jaas/functions';
22
 import { setPrejoinDisplayNameRequired } from './react/features/prejoin/actions';
21
 import { setPrejoinDisplayNameRequired } from './react/features/prejoin/actions';
23
 const logger = Logger.getLogger(__filename);
22
 const logger = Logger.getLogger(__filename);
24
 
23
 

+ 1
- 1
react/features/app/actions.js Wyświetl plik

24
     parseURIString,
24
     parseURIString,
25
     toURLString
25
     toURLString
26
 } from '../base/util';
26
 } from '../base/util';
27
-import { isVpaasMeeting } from '../billing-counter/functions';
27
+import { isVpaasMeeting } from '../jaas/functions';
28
 import { clearNotifications, showNotification } from '../notifications';
28
 import { clearNotifications, showNotification } from '../notifications';
29
 import { setFatalError } from '../overlay';
29
 import { setFatalError } from '../overlay';
30
 
30
 

+ 0
- 1
react/features/app/middlewares.any.js Wyświetl plik

18
 import '../base/testing/middleware';
18
 import '../base/testing/middleware';
19
 import '../base/tracks/middleware';
19
 import '../base/tracks/middleware';
20
 import '../base/user-interaction/middleware';
20
 import '../base/user-interaction/middleware';
21
-import '../billing-counter/middleware';
22
 import '../calendar-sync/middleware';
21
 import '../calendar-sync/middleware';
23
 import '../chat/middleware';
22
 import '../chat/middleware';
24
 import '../conference/middleware';
23
 import '../conference/middleware';

+ 0
- 1
react/features/app/reducers.any.js Wyświetl plik

25
 import '../base/testing/reducer';
25
 import '../base/testing/reducer';
26
 import '../base/tracks/reducer';
26
 import '../base/tracks/reducer';
27
 import '../base/user-interaction/reducer';
27
 import '../base/user-interaction/reducer';
28
-import '../billing-counter/reducer';
29
 import '../calendar-sync/reducer';
28
 import '../calendar-sync/reducer';
30
 import '../chat/reducer';
29
 import '../chat/reducer';
31
 import '../deep-linking/reducer';
30
 import '../deep-linking/reducer';

+ 1
- 1
react/features/base/react/components/web/Watermarks.js Wyświetl plik

2
 
2
 
3
 import React, { Component } from 'react';
3
 import React, { Component } from 'react';
4
 
4
 
5
-import { isVpaasMeeting } from '../../../../billing-counter/functions';
5
+import { isVpaasMeeting } from '../../../../jaas/functions';
6
 import { translate } from '../../../i18n';
6
 import { translate } from '../../../i18n';
7
 import { connect } from '../../../redux';
7
 import { connect } from '../../../redux';
8
 
8
 

+ 0
- 4
react/features/billing-counter/actionTypes.js Wyświetl plik

1
-/**
2
- * Action used to store the flag signaling the endpoint has been counted.
3
- */
4
-export const SET_ENDPOINT_COUNTED = 'SET_ENDPOINT_COUNTED';

+ 0
- 42
react/features/billing-counter/actions.js Wyświetl plik

1
-// @flow
2
-
3
-import { SET_ENDPOINT_COUNTED } from './actionTypes';
4
-import { extractVpaasTenantFromPath, getBillingId, sendCountRequest } from './functions';
5
-
6
-/**
7
- * Sends a billing count request when needed.
8
- *
9
- * @returns {Function}
10
- */
11
-export function countEndpoint() {
12
-    return function(dispatch: Function, getState: Function) {
13
-        const state = getState();
14
-        const baseUrl = state['features/base/config'].billingCounterUrl;
15
-        const jwt = state['features/base/jwt'].jwt;
16
-        const tenant = extractVpaasTenantFromPath(state['features/base/connection'].locationURL.pathname);
17
-        const shouldSendRequest = Boolean(baseUrl && jwt && tenant);
18
-
19
-        if (shouldSendRequest) {
20
-            const billingId = getBillingId();
21
-
22
-            sendCountRequest({
23
-                baseUrl,
24
-                billingId,
25
-                jwt,
26
-                tenant
27
-            });
28
-            dispatch(setEndpointCounted());
29
-        }
30
-    };
31
-}
32
-
33
-/**
34
- * Action used to mark the endpoint as counted.
35
- *
36
- * @returns {Object}
37
- */
38
-function setEndpointCounted() {
39
-    return {
40
-        type: SET_ENDPOINT_COUNTED
41
-    };
42
-}

+ 0
- 9
react/features/billing-counter/constants.js Wyświetl plik

1
-/**
2
- * The key for the billing id stored in localStorage.
3
- */
4
-export const BILLING_ID = 'jitsiMeetId';
5
-
6
-/**
7
- * The prefix for the vpaas tenant.
8
- */
9
-export const VPAAS_TENANT_PREFIX = 'vpaas-magic-cookie-';

+ 0
- 112
react/features/billing-counter/functions.js Wyświetl plik

1
-// @flow
2
-
3
-import { jitsiLocalStorage } from '@jitsi/js-utils';
4
-import uuid from 'uuid';
5
-
6
-import { BILLING_ID, VPAAS_TENANT_PREFIX } from './constants';
7
-import logger from './logger';
8
-
9
-/**
10
- * Returns the full vpaas tenant if available, given a path.
11
- *
12
- * @param {string} path - The meeting url path.
13
- * @returns {string}
14
- */
15
-export function extractVpaasTenantFromPath(path: string) {
16
-    const [ , tenant ] = path.split('/');
17
-
18
-    if (tenant.startsWith(VPAAS_TENANT_PREFIX)) {
19
-        return tenant;
20
-    }
21
-
22
-    return '';
23
-}
24
-
25
-/**
26
- * Returns the vpaas tenant.
27
- *
28
- * @param {Object} state - The global state.
29
- * @returns {string}
30
- */
31
-export function getVpaasTenant(state: Object) {
32
-    return extractVpaasTenantFromPath(state['features/base/connection'].locationURL.pathname);
33
-}
34
-
35
-/**
36
- * Returns true if the current meeting is a vpaas one.
37
- *
38
- * @param {Object} state - The state of the app.
39
- * @returns {boolean}
40
- */
41
-export function isVpaasMeeting(state: Object) {
42
-    const { billingCounterUrl } = state['features/base/config'];
43
-
44
-    return Boolean(
45
-        billingCounterUrl
46
-        && extractVpaasTenantFromPath(
47
-            state['features/base/connection'].locationURL.pathname)
48
-    );
49
-}
50
-
51
-/**
52
- * Sends a billing counter request.
53
- *
54
- * @param {Object} reqData - The request info.
55
- * @param {string} reqData.baseUrl - The base url for the request.
56
- * @param {string} billingId - The unique id of the client.
57
- * @param {string} jwt - The JWT token.
58
- * @param {string} tenat - The client tenant.
59
- * @returns {void}
60
- */
61
-export async function sendCountRequest({ baseUrl, billingId, jwt, tenant }: {
62
-    baseUrl: string,
63
-    billingId: string,
64
-    jwt: string,
65
-    tenant: string
66
-}) {
67
-    const fullUrl = `${baseUrl}/${encodeURIComponent(tenant)}/${billingId}`;
68
-    const headers = {
69
-        'Authorization': `Bearer ${jwt}`
70
-    };
71
-
72
-    try {
73
-        const res = await fetch(fullUrl, {
74
-            method: 'GET',
75
-            headers
76
-        });
77
-
78
-        if (!res.ok) {
79
-            logger.error('Status error:', res.status);
80
-        }
81
-    } catch (err) {
82
-        logger.error('Could not send request', err);
83
-    }
84
-}
85
-
86
-/**
87
- * Returns the stored billing id (or generates a new one if none is present).
88
- *
89
- * @returns {string}
90
- */
91
-export function getBillingId() {
92
-    let billingId = jitsiLocalStorage.getItem(BILLING_ID);
93
-
94
-    if (!billingId) {
95
-        billingId = uuid.v4();
96
-        jitsiLocalStorage.setItem(BILLING_ID, billingId);
97
-    }
98
-
99
-    return billingId;
100
-}
101
-
102
-/**
103
- * Returns the billing id for vpaas meetings.
104
- *
105
- * @param {Object} state - The state of the app.
106
- * @returns {string | undefined}
107
- */
108
-export function getVpaasBillingId(state: Object) {
109
-    if (isVpaasMeeting(state)) {
110
-        return getBillingId();
111
-    }
112
-}

+ 0
- 5
react/features/billing-counter/logger.js Wyświetl plik

1
-// @flow
2
-
3
-import { getLogger } from '../base/logging/functions';
4
-
5
-export default getLogger('features/billing-counter');

+ 0
- 29
react/features/billing-counter/reducer.js Wyświetl plik

1
-import { ReducerRegistry } from '../base/redux';
2
-
3
-import {
4
-    SET_ENDPOINT_COUNTED
5
-} from './actionTypes';
6
-
7
-const DEFAULT_STATE = {
8
-    endpointCounted: false
9
-};
10
-
11
-/**
12
- * Listen for actions that mutate the billing-counter state
13
- */
14
-ReducerRegistry.register(
15
-    'features/billing-counter', (state = DEFAULT_STATE, action) => {
16
-        switch (action.type) {
17
-
18
-        case SET_ENDPOINT_COUNTED: {
19
-            return {
20
-                ...state,
21
-                endpointCounted: true
22
-            };
23
-        }
24
-
25
-        default:
26
-            return state;
27
-        }
28
-    },
29
-);

+ 1
- 1
react/features/chrome-extension-banner/components/ChromeExtensionBanner.web.js Wyświetl plik

16
 import { Icon, IconClose } from '../../base/icons';
16
 import { Icon, IconClose } from '../../base/icons';
17
 import { browser } from '../../base/lib-jitsi-meet';
17
 import { browser } from '../../base/lib-jitsi-meet';
18
 import { connect } from '../../base/redux';
18
 import { connect } from '../../base/redux';
19
-import { isVpaasMeeting } from '../../billing-counter/functions';
19
+import { isVpaasMeeting } from '../../jaas/functions';
20
 import logger from '../logger';
20
 import logger from '../logger';
21
 
21
 
22
 
22
 

+ 0
- 2
react/features/conference/functions.web.js Wyświetl plik

4
 import { getLocalParticipant } from '../base/participants';
4
 import { getLocalParticipant } from '../base/participants';
5
 import { toState } from '../base/redux';
5
 import { toState } from '../base/redux';
6
 import { getBackendSafePath, getJitsiMeetGlobalNS } from '../base/util';
6
 import { getBackendSafePath, getJitsiMeetGlobalNS } from '../base/util';
7
-import { getVpaasBillingId } from '../billing-counter/functions';
8
 import { showWarningNotification } from '../notifications';
7
 import { showWarningNotification } from '../notifications';
9
 import { createRnnoiseProcessor } from '../stream-effects/rnnoise';
8
 import { createRnnoiseProcessor } from '../stream-effects/rnnoise';
10
 
9
 
85
     options.applicationName = getName();
84
     options.applicationName = getName();
86
     options.getWiFiStatsMethod = getWiFiStatsMethod;
85
     options.getWiFiStatsMethod = getWiFiStatsMethod;
87
     options.createVADProcessor = createRnnoiseProcessor;
86
     options.createVADProcessor = createRnnoiseProcessor;
88
-    options.billingId = getVpaasBillingId(state);
89
 
87
 
90
     // Disable CallStats, if requessted.
88
     // Disable CallStats, if requessted.
91
     if (options.disableThirdPartyRequests) {
89
     if (options.disableThirdPartyRequests) {

+ 1
- 1
react/features/deep-linking/functions.js Wyświetl plik

3
 import { isMobileBrowser } from '../base/environment/utils';
3
 import { isMobileBrowser } from '../base/environment/utils';
4
 import { Platform } from '../base/react';
4
 import { Platform } from '../base/react';
5
 import { URI_PROTOCOL_PATTERN } from '../base/util';
5
 import { URI_PROTOCOL_PATTERN } from '../base/util';
6
-import { isVpaasMeeting } from '../billing-counter/functions';
6
+import { isVpaasMeeting } from '../jaas/functions';
7
 
7
 
8
 import {
8
 import {
9
     DeepLinkingDesktopPage,
9
     DeepLinkingDesktopPage,

+ 1
- 1
react/features/feedback/actions.js Wyświetl plik

4
 
4
 
5
 import { FEEDBACK_REQUEST_IN_PROGRESS } from '../../../modules/UI/UIErrors';
5
 import { FEEDBACK_REQUEST_IN_PROGRESS } from '../../../modules/UI/UIErrors';
6
 import { openDialog } from '../base/dialog';
6
 import { openDialog } from '../base/dialog';
7
-import { isVpaasMeeting } from '../billing-counter/functions';
8
 import { extractFqnFromPath } from '../dynamic-branding/functions';
7
 import { extractFqnFromPath } from '../dynamic-branding/functions';
8
+import { isVpaasMeeting } from '../jaas/functions';
9
 
9
 
10
 import {
10
 import {
11
     CANCEL_FEEDBACK,
11
     CANCEL_FEEDBACK,

+ 1
- 1
react/features/invite/components/add-people-dialog/web/AddPeopleDialog.js Wyświetl plik

8
 import { translate } from '../../../../base/i18n';
8
 import { translate } from '../../../../base/i18n';
9
 import { JitsiRecordingConstants } from '../../../../base/lib-jitsi-meet';
9
 import { JitsiRecordingConstants } from '../../../../base/lib-jitsi-meet';
10
 import { connect } from '../../../../base/redux';
10
 import { connect } from '../../../../base/redux';
11
-import { isVpaasMeeting } from '../../../../billing-counter/functions';
12
 import { isDynamicBrandingDataLoaded } from '../../../../dynamic-branding/functions';
11
 import { isDynamicBrandingDataLoaded } from '../../../../dynamic-branding/functions';
13
 import EmbedMeetingTrigger from '../../../../embed-meeting/components/EmbedMeetingTrigger';
12
 import EmbedMeetingTrigger from '../../../../embed-meeting/components/EmbedMeetingTrigger';
13
+import { isVpaasMeeting } from '../../../../jaas/functions';
14
 import { getActiveSession } from '../../../../recording';
14
 import { getActiveSession } from '../../../../recording';
15
 import { updateDialInNumbers } from '../../../actions';
15
 import { updateDialInNumbers } from '../../../actions';
16
 import {
16
 import {

+ 1
- 1
react/features/invite/components/add-people-dialog/web/InviteContactsForm.js Wyświetl plik

10
 import { getLocalParticipant } from '../../../../base/participants';
10
 import { getLocalParticipant } from '../../../../base/participants';
11
 import { MultiSelectAutocomplete } from '../../../../base/react';
11
 import { MultiSelectAutocomplete } from '../../../../base/react';
12
 import { connect } from '../../../../base/redux';
12
 import { connect } from '../../../../base/redux';
13
-import { isVpaasMeeting } from '../../../../billing-counter/functions';
13
+import { isVpaasMeeting } from '../../../../jaas/functions';
14
 import { hideAddPeopleDialog } from '../../../actions';
14
 import { hideAddPeopleDialog } from '../../../actions';
15
 import { INVITE_TYPES } from '../../../constants';
15
 import { INVITE_TYPES } from '../../../constants';
16
 import AbstractAddPeopleDialog, {
16
 import AbstractAddPeopleDialog, {

+ 1
- 1
react/features/invite/functions.js Wyświetl plik

9
 import { getLocalParticipant, isLocalParticipantModerator } from '../base/participants';
9
 import { getLocalParticipant, isLocalParticipantModerator } from '../base/participants';
10
 import { toState } from '../base/redux';
10
 import { toState } from '../base/redux';
11
 import { doGetJSON, parseURIString } from '../base/util';
11
 import { doGetJSON, parseURIString } from '../base/util';
12
-import { isVpaasMeeting } from '../billing-counter/functions';
12
+import { isVpaasMeeting } from '../jaas/functions';
13
 
13
 
14
 import { INVITE_TYPES, SIP_ADDRESS_REGEX } from './constants';
14
 import { INVITE_TYPES, SIP_ADDRESS_REGEX } from './constants';
15
 import logger from './logger';
15
 import logger from './logger';

+ 2
- 3
react/features/jaas/actions.web.js Wyświetl plik

1
 // @flow
1
 // @flow
2
 
2
 
3
 import { openDialog } from '../base/dialog';
3
 import { openDialog } from '../base/dialog';
4
-import { VPAAS_TENANT_PREFIX } from '../billing-counter/constants';
5
-import { getVpaasTenant } from '../billing-counter/functions';
6
 
4
 
7
 import { SET_DETAILS } from './actionTypes';
5
 import { SET_DETAILS } from './actionTypes';
8
 import { PremiumFeatureDialog } from './components';
6
 import { PremiumFeatureDialog } from './components';
9
-import { isFeatureDisabled, sendGetDetailsRequest } from './functions';
7
+import { VPAAS_TENANT_PREFIX } from './constants';
8
+import { getVpaasTenant, isFeatureDisabled, sendGetDetailsRequest } from './functions';
10
 import logger from './logger';
9
 import logger from './logger';
11
 
10
 
12
 /**
11
 /**

+ 5
- 0
react/features/jaas/constants.js Wyświetl plik

23
  * URL for displaying JaaS upgrade options
23
  * URL for displaying JaaS upgrade options
24
  */
24
  */
25
 export const JAAS_UPGRADE_URL = 'https://jaas.8x8.vc/#/plan/upgrade';
25
 export const JAAS_UPGRADE_URL = 'https://jaas.8x8.vc/#/plan/upgrade';
26
+
27
+/**
28
+ * The prefix for the vpaas tenant.
29
+ */
30
+export const VPAAS_TENANT_PREFIX = 'vpaas-magic-cookie-';

+ 45
- 1
react/features/jaas/functions.js Wyświetl plik

1
 // @flow
1
 // @flow
2
 
2
 
3
-import { getVpaasTenant } from '../billing-counter/functions';
4
 
3
 
4
+import { VPAAS_TENANT_PREFIX } from './constants';
5
 import logger from './logger';
5
 import logger from './logger';
6
 
6
 
7
+/**
8
+ * Returns the full vpaas tenant if available, given a path.
9
+ *
10
+ * @param {string} path - The meeting url path.
11
+ * @returns {string}
12
+ */
13
+function extractVpaasTenantFromPath(path: string) {
14
+    const [ , tenant ] = path.split('/');
15
+
16
+    if (tenant.startsWith(VPAAS_TENANT_PREFIX)) {
17
+        return tenant;
18
+    }
19
+
20
+    return '';
21
+}
22
+
23
+/**
24
+ * Returns the vpaas tenant.
25
+ *
26
+ * @param {Object} state - The global state.
27
+ * @returns {string}
28
+ */
29
+export function getVpaasTenant(state: Object) {
30
+    return extractVpaasTenantFromPath(state['features/base/connection'].locationURL.pathname);
31
+}
32
+
33
+/**
34
+ * Returns true if the current meeting is a vpaas one.
35
+ *
36
+ * @param {Object} state - The state of the app.
37
+ * @returns {boolean}
38
+ */
39
+export function isVpaasMeeting(state: Object) {
40
+    const connection = state['features/base/connection'];
41
+
42
+    if (connection?.locationURL?.pathname) {
43
+        return Boolean(
44
+            extractVpaasTenantFromPath(connection?.locationURL?.pathname)
45
+        );
46
+    }
47
+
48
+    return false;
49
+}
50
+
7
 /**
51
 /**
8
  * Sends a request for retrieving jaas customer details.
52
  * Sends a request for retrieving jaas customer details.
9
  *
53
  *

react/features/billing-counter/middleware.js → react/features/jaas/middleware.any.js Wyświetl plik

1
 import { sendAnalytics, createVpaasConferenceJoinedEvent } from '../analytics';
1
 import { sendAnalytics, createVpaasConferenceJoinedEvent } from '../analytics';
2
 import { CONFERENCE_JOINED } from '../base/conference/actionTypes';
2
 import { CONFERENCE_JOINED } from '../base/conference/actionTypes';
3
-import { PARTICIPANT_JOINED } from '../base/participants/actionTypes';
4
 import { MiddlewareRegistry } from '../base/redux';
3
 import { MiddlewareRegistry } from '../base/redux';
5
 
4
 
6
-import { countEndpoint } from './actions';
7
-import { isVpaasMeeting, extractVpaasTenantFromPath } from './functions';
5
+import { isVpaasMeeting, getVpaasTenant } from './functions';
8
 
6
 
9
 /**
7
 /**
10
  * The redux middleware for billing counter.
8
  * The redux middleware for billing counter.
20
 
18
 
21
         break;
19
         break;
22
     }
20
     }
23
-
24
-    case PARTICIPANT_JOINED: {
25
-        const shouldCount = !store.getState()['features/billing-counter'].endpointCounted
26
-              && !action.participant.local;
27
-
28
-        if (shouldCount) {
29
-            store.dispatch(countEndpoint());
30
-        }
31
-
32
-        break;
33
-    }
34
     }
21
     }
35
 
22
 
36
     return next(action);
23
     return next(action);
45
 function _maybeTrackVpaasConferenceJoin(state) {
32
 function _maybeTrackVpaasConferenceJoin(state) {
46
     if (isVpaasMeeting(state)) {
33
     if (isVpaasMeeting(state)) {
47
         sendAnalytics(createVpaasConferenceJoinedEvent(
34
         sendAnalytics(createVpaasConferenceJoinedEvent(
48
-            extractVpaasTenantFromPath(
49
-                state['features/base/connection'].locationURL.pathname)));
35
+            getVpaasTenant(state)));
50
     }
36
     }
51
 }
37
 }

+ 2
- 1
react/features/jaas/middleware.web.js Wyświetl plik

3
 import { CONNECTION_FAILED } from '../base/connection';
3
 import { CONNECTION_FAILED } from '../base/connection';
4
 import { JitsiConnectionErrors } from '../base/lib-jitsi-meet';
4
 import { JitsiConnectionErrors } from '../base/lib-jitsi-meet';
5
 import { MiddlewareRegistry } from '../base/redux';
5
 import { MiddlewareRegistry } from '../base/redux';
6
-import { isVpaasMeeting } from '../billing-counter/functions';
6
+
7
 
7
 
8
 import { SET_DETAILS } from './actionTypes';
8
 import { SET_DETAILS } from './actionTypes';
9
 import { getCustomerDetails } from './actions';
9
 import { getCustomerDetails } from './actions';
10
 import { STATUSES } from './constants';
10
 import { STATUSES } from './constants';
11
+import { isVpaasMeeting } from './functions';
11
 
12
 
12
 /**
13
 /**
13
  * The redux middleware for jaas.
14
  * The redux middleware for jaas.

+ 1
- 1
react/features/reactions/middleware.js Wyświetl plik

2
 
2
 
3
 import { ENDPOINT_REACTION_NAME } from '../../../modules/API/constants';
3
 import { ENDPOINT_REACTION_NAME } from '../../../modules/API/constants';
4
 import { MiddlewareRegistry } from '../base/redux';
4
 import { MiddlewareRegistry } from '../base/redux';
5
-import { isVpaasMeeting } from '../billing-counter/functions';
5
+import { isVpaasMeeting } from '../jaas/functions';
6
 
6
 
7
 import {
7
 import {
8
     SET_REACTIONS_MESSAGE,
8
     SET_REACTIONS_MESSAGE,

+ 1
- 1
react/features/recording/actions.any.js Wyświetl plik

4
 import JitsiMeetJS, { JitsiRecordingConstants } from '../base/lib-jitsi-meet';
4
 import JitsiMeetJS, { JitsiRecordingConstants } from '../base/lib-jitsi-meet';
5
 import { getLocalParticipant, getParticipantDisplayName } from '../base/participants';
5
 import { getLocalParticipant, getParticipantDisplayName } from '../base/participants';
6
 import { copyText } from '../base/util/helpers';
6
 import { copyText } from '../base/util/helpers';
7
-import { getVpaasTenant, isVpaasMeeting } from '../billing-counter/functions';
7
+import { getVpaasTenant, isVpaasMeeting } from '../jaas/functions';
8
 import {
8
 import {
9
     NOTIFICATION_TIMEOUT,
9
     NOTIFICATION_TIMEOUT,
10
     hideNotification,
10
     hideNotification,

+ 1
- 1
react/features/recording/components/Recording/StartRecordingDialogContent.js Wyświetl plik

21
 } from '../../../base/react';
21
 } from '../../../base/react';
22
 import { connect } from '../../../base/redux';
22
 import { connect } from '../../../base/redux';
23
 import { ColorPalette, StyleType } from '../../../base/styles';
23
 import { ColorPalette, StyleType } from '../../../base/styles';
24
-import { isVpaasMeeting } from '../../../billing-counter/functions';
25
 import { authorizeDropbox, updateDropboxToken } from '../../../dropbox';
24
 import { authorizeDropbox, updateDropboxToken } from '../../../dropbox';
25
+import { isVpaasMeeting } from '../../../jaas/functions';
26
 import { RECORDING_TYPES } from '../../constants';
26
 import { RECORDING_TYPES } from '../../constants';
27
 import { getRecordingDurationEstimation } from '../../functions';
27
 import { getRecordingDurationEstimation } from '../../functions';
28
 
28
 

+ 1
- 1
react/features/toolbox/components/DownloadButton.js Wyświetl plik

6
 import { connect } from '../../base/redux';
6
 import { connect } from '../../base/redux';
7
 import { AbstractButton, type AbstractButtonProps } from '../../base/toolbox/components';
7
 import { AbstractButton, type AbstractButtonProps } from '../../base/toolbox/components';
8
 import { openURLInBrowser } from '../../base/util';
8
 import { openURLInBrowser } from '../../base/util';
9
-import { isVpaasMeeting } from '../../billing-counter/functions';
9
+import { isVpaasMeeting } from '../../jaas/functions';
10
 
10
 
11
 type Props = AbstractButtonProps & {
11
 type Props = AbstractButtonProps & {
12
 
12
 

+ 1
- 1
react/features/toolbox/components/HelpButton.js Wyświetl plik

7
 import { connect } from '../../base/redux';
7
 import { connect } from '../../base/redux';
8
 import { AbstractButton, type AbstractButtonProps } from '../../base/toolbox/components';
8
 import { AbstractButton, type AbstractButtonProps } from '../../base/toolbox/components';
9
 import { openURLInBrowser } from '../../base/util';
9
 import { openURLInBrowser } from '../../base/util';
10
-import { isVpaasMeeting } from '../../billing-counter/functions';
10
+import { isVpaasMeeting } from '../../jaas/functions';
11
 
11
 
12
 type Props = AbstractButtonProps & {
12
 type Props = AbstractButtonProps & {
13
 
13
 

+ 1
- 1
react/features/toolbox/components/web/Toolbox.js Wyświetl plik

22
 } from '../../../base/participants';
22
 } from '../../../base/participants';
23
 import { connect } from '../../../base/redux';
23
 import { connect } from '../../../base/redux';
24
 import { getLocalVideoTrack } from '../../../base/tracks';
24
 import { getLocalVideoTrack } from '../../../base/tracks';
25
-import { isVpaasMeeting } from '../../../billing-counter/functions';
26
 import { toggleChat } from '../../../chat';
25
 import { toggleChat } from '../../../chat';
27
 import { ChatButton } from '../../../chat/components';
26
 import { ChatButton } from '../../../chat/components';
28
 import { EmbedMeetingButton } from '../../../embed-meeting';
27
 import { EmbedMeetingButton } from '../../../embed-meeting';
29
 import { SharedDocumentButton } from '../../../etherpad';
28
 import { SharedDocumentButton } from '../../../etherpad';
30
 import { FeedbackButton } from '../../../feedback';
29
 import { FeedbackButton } from '../../../feedback';
30
+import { isVpaasMeeting } from '../../../jaas/functions';
31
 import { KeyboardShortcutsButton } from '../../../keyboard-shortcuts';
31
 import { KeyboardShortcutsButton } from '../../../keyboard-shortcuts';
32
 import { LocalRecordingButton } from '../../../local-recording';
32
 import { LocalRecordingButton } from '../../../local-recording';
33
 import {
33
 import {

Ładowanie…
Anuluj
Zapisz