mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-01 00:08:27 +01:00
4167a60588
Follows up on https://github.com/Unleash/unleash/pull/4853 to add Biome to the frontend as well. ![image](https://github.com/Unleash/unleash/assets/14320932/1906faf1-fc29-4172-a4d4-b2716d72cd65) Added a few `biome-ignore` to speed up the process but we may want to check and fix them in the future.
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { SKIP_CHANGE_REQUEST } from 'component/providers/AccessProvider/permissions';
|
|
import React from 'react';
|
|
import { useChangeRequestConfig } from './api/getters/useChangeRequestConfig/useChangeRequestConfig';
|
|
import { useCheckProjectPermissions } from './useHasAccess';
|
|
|
|
export const useChangeRequestsEnabled = (projectId: string) => {
|
|
const { data } = useChangeRequestConfig(projectId);
|
|
const checkAccess = useCheckProjectPermissions(projectId);
|
|
|
|
const isChangeRequestConfigured = React.useCallback(
|
|
(environment: string): boolean => {
|
|
const canSkipChangeRequest = checkAccess(
|
|
SKIP_CHANGE_REQUEST,
|
|
environment,
|
|
);
|
|
return canSkipChangeRequest
|
|
? false
|
|
: data.some((draft) => {
|
|
return (
|
|
draft.environment === environment &&
|
|
draft.changeRequestEnabled
|
|
);
|
|
});
|
|
},
|
|
[JSON.stringify(data)],
|
|
);
|
|
|
|
const isChangeRequestConfiguredForReview = React.useCallback(
|
|
(environment: string): boolean => {
|
|
return data.some((draft) => {
|
|
return (
|
|
draft.environment === environment &&
|
|
draft.changeRequestEnabled
|
|
);
|
|
});
|
|
},
|
|
[JSON.stringify(data)],
|
|
);
|
|
|
|
const isChangeRequestConfiguredInAnyEnv = React.useCallback((): boolean => {
|
|
return data.some((draft) => draft.changeRequestEnabled);
|
|
}, [JSON.stringify(data)]);
|
|
|
|
return {
|
|
isChangeRequestConfigured,
|
|
isChangeRequestConfiguredInAnyEnv,
|
|
isChangeRequestConfiguredForReview,
|
|
};
|
|
};
|