1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-23 00:22:19 +01:00

fix: check for admin in signal endpoints hook (#7642)

This avoids a 403 on `api/admin/signal-endpoints` for non-admins when
browsing the integrations page.
This commit is contained in:
Nuno Góis 2024-07-22 15:32:35 +01:00 committed by GitHub
parent 47ff73afb2
commit 3acaaf6719
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,10 +1,11 @@
import { useMemo } from 'react';
import { useContext, useMemo } from 'react';
import { formatApiPath } from 'utils/formatPath';
import handleErrorResponses from '../httpErrorResponseHandler';
import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR';
import useUiConfig from '../useUiConfig/useUiConfig';
import type { ISignalEndpoint } from 'interfaces/signal';
import { useUiFlag } from 'hooks/useUiFlag';
import AccessContext from 'contexts/AccessContext';
const ENDPOINT = 'api/admin/signal-endpoints';
@ -13,13 +14,14 @@ const DEFAULT_DATA = {
};
export const useSignalEndpoints = () => {
const { isAdmin } = useContext(AccessContext);
const { isEnterprise } = useUiConfig();
const signalsEnabled = useUiFlag('signals');
const { data, error, mutate } = useConditionalSWR<{
signalEndpoints: ISignalEndpoint[];
}>(
isEnterprise() && signalsEnabled,
isEnterprise() && isAdmin && signalsEnabled,
DEFAULT_DATA,
formatApiPath(ENDPOINT),
fetcher,