1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/frontend/src/hooks/useHighestPermissionChangeRequestEnvironment.ts
Thomas Heartman 452f3942a7
feat(#4209): add segment to drafts (#4408)
This PR sends segments to CR drafts when you use the `add to draft`
button.

It also adds the logic for which environment to pick.

Segments sent to the API are added to drafts, but not displayed in the
UI yet. CRs with only segment changes are also not listed in the table.
This'll be covered in upcoming work.
2023-08-04 12:57:26 +00:00

25 lines
854 B
TypeScript

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),
]);
};