[CLD-6373] Fix non-admin users requesting self hosted expansion status on load (#24890)

* Fix non-admin users requesting self hosted expansion status on load

* Fix linter

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Nick Misasi
2023-10-16 09:55:13 -04:00
коммит произвёл GitHub
родитель b6fd1b7bcf
Коммит 930309e01e

Просмотреть файл

@@ -7,6 +7,7 @@ import {useSelector} from 'react-redux';
import {Client4} from 'mattermost-redux/client'; import {Client4} from 'mattermost-redux/client';
import {getSubscriptionProduct} from 'mattermost-redux/selectors/entities/cloud'; import {getSubscriptionProduct} from 'mattermost-redux/selectors/entities/cloud';
import {getConfig, getLicense} from 'mattermost-redux/selectors/entities/general'; import {getConfig, getLicense} from 'mattermost-redux/selectors/entities/general';
import {isCurrentUserSystemAdmin} from 'mattermost-redux/selectors/entities/users';
import {BillingSchemes, SelfHostedProducts} from 'utils/constants'; import {BillingSchemes, SelfHostedProducts} from 'utils/constants';
import {findSelfHostedProductBySku} from 'utils/hosted_customer'; import {findSelfHostedProductBySku} from 'utils/hosted_customer';
@@ -23,12 +24,13 @@ export default function useCanSelfHostedExpand() {
const isCloud = isCloudLicense(license); const isCloud = isCloudLicense(license);
const [products] = useGetSelfHostedProducts(); const [products] = useGetSelfHostedProducts();
const currentProduct = findSelfHostedProductBySku(products, license.SkuShortName); const currentProduct = findSelfHostedProductBySku(products, license.SkuShortName);
const isAdmin = useSelector(isCurrentUserSystemAdmin);
// Self Hosted Products never contains a product for starter, additional check is done out of caution. // Self Hosted Products never contains a product for starter, additional check is done out of caution.
const isSelfHostedStarter = currentProduct === null || currentProduct?.sku === SelfHostedProducts.STARTER; const isSelfHostedStarter = currentProduct === null || currentProduct?.sku === SelfHostedProducts.STARTER;
useEffect(() => { useEffect(() => {
if (!isEnterpriseReady) { if (!isEnterpriseReady || !isAdmin) {
return; return;
} }
Client4.getLicenseSelfServeStatus(). Client4.getLicenseSelfServeStatus().
@@ -38,7 +40,7 @@ export default function useCanSelfHostedExpand() {
catch(() => { catch(() => {
setExpansionAvailable(false); setExpansionAvailable(false);
}); });
}, [isEnterpriseReady]); }, [isEnterpriseReady, isAdmin]);
return !isCloud && !isSelfHostedStarter && !isSalesServeOnly && expansionAvailable; return !isCloud && !isSelfHostedStarter && !isSalesServeOnly && expansionAvailable;
} }