1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-01 00:08:27 +01:00
unleash.unleash/frontend/src/hooks/useHighestPermissionChangeRequestEnvironment.ts

25 lines
854 B
TypeScript
Raw Normal View History

import { IChangeRequestEnvironmentConfig } from 'component/changeRequest/changeRequest.types';
import React from 'react';
import { useChangeRequestConfig } from './api/getters/useChangeRequestConfig/useChangeRequestConfig';
export const getHighestChangeRequestEnv =
(data: IChangeRequestEnvironmentConfig[]) => (): string | undefined => {
const changeRequestEnvs = data.filter(env => env.changeRequestEnabled);
const env =
changeRequestEnvs.find(env => env.type === 'production') ??
changeRequestEnvs[0];
return env?.environment;
};
export const useHighestPermissionChangeRequestEnvironment = (
projectId?: string
) => {
const { data } = useChangeRequestConfig(projectId || '');
return React.useCallback(getHighestChangeRequestEnv(data), [
JSON.stringify(data),
]);
};