1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-06-04 01:18:20 +02:00

fix: usage of default strategy (#3995)

This commit is contained in:
Jaanus Sellin 2023-06-19 11:31:08 +03:00 committed by GitHub
parent f7b0f0e410
commit 60f4ce31f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 20 deletions

View File

@ -33,6 +33,7 @@ import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
import useQueryParams from 'hooks/useQueryParams'; import useQueryParams from 'hooks/useQueryParams';
import useProject from 'hooks/api/getters/useProject/useProject'; import useProject from 'hooks/api/getters/useProject/useProject';
import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; import { useSegments } from 'hooks/api/getters/useSegments/useSegments';
import { DEFAULT_STRATEGY } from '../../../project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy';
export const FeatureStrategyCreate = () => { export const FeatureStrategyCreate = () => {
const projectId = useRequiredPathParam('projectId'); const projectId = useRequiredPathParam('projectId');
@ -98,7 +99,7 @@ export const FeatureStrategyCreate = () => {
useEffect(() => { useEffect(() => {
if (useDefaultStrategy) { if (useDefaultStrategy) {
setStrategy((defaultStrategy as any) || {}); setStrategy((defaultStrategy as any) || DEFAULT_STRATEGY);
} else if (strategyDefinition) { } else if (strategyDefinition) {
setStrategy(createFeatureStrategy(featureId, strategyDefinition)); setStrategy(createFeatureStrategy(featureId, strategyDefinition));
} }

View File

@ -12,7 +12,8 @@ interface IFeatureStrategyMenuCardProps {
projectId: string; projectId: string;
featureId: string; featureId: string;
environmentId: string; environmentId: string;
strategy: IStrategy; strategy: Pick<IStrategy, 'name' | 'displayName' | 'description'> &
Partial<IStrategy>;
defaultStrategy?: boolean; defaultStrategy?: boolean;
} }

View File

@ -2,8 +2,6 @@ import { List, ListItem, styled, Typography } from '@mui/material';
import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies'; import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies';
import { FeatureStrategyMenuCard } from '../FeatureStrategyMenuCard/FeatureStrategyMenuCard'; import { FeatureStrategyMenuCard } from '../FeatureStrategyMenuCard/FeatureStrategyMenuCard';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import useProject from 'hooks/api/getters/useProject/useProject';
import { IStrategy } from 'interfaces/strategy';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
interface IFeatureStrategyMenuCardsProps { interface IFeatureStrategyMenuCardsProps {
@ -33,28 +31,16 @@ export const FeatureStrategyMenuCards = ({
strategy => !strategy.deprecated && strategy.editable strategy => !strategy.deprecated && strategy.editable
); );
const { project } = useProject(projectId); const defaultStrategy = {
const strategy = project.environments.find(
env => env.environment === environmentId
)?.defaultStrategy;
const defaultStrategy: IStrategy = {
name: 'flexibleRollout', name: 'flexibleRollout',
displayName: 'Default strategy', displayName: 'Default strategy',
description: description:
'This is the default strategy defined for this environment in the project', 'This is the default strategy defined for this environment in the project',
parameters: [],
editable: false,
deprecated: false,
}; };
return ( return (
<List dense> <List dense>
<ConditionallyRender <ConditionallyRender
condition={ condition={Boolean(uiConfig.flags.strategyImprovements)}
Boolean(uiConfig.flags.strategyImprovements) &&
strategy !== undefined
}
show={ show={
<> <>
<StyledTypography color="textSecondary"> <StyledTypography color="textSecondary">
@ -65,7 +51,7 @@ export const FeatureStrategyMenuCards = ({
projectId={projectId} projectId={projectId}
featureId={featureId} featureId={featureId}
environmentId={environmentId} environmentId={environmentId}
strategy={defaultStrategy!} strategy={defaultStrategy}
defaultStrategy={true} defaultStrategy={true}
/> />
</ListItem> </ListItem>

View File

@ -20,7 +20,7 @@ import { ProjectDefaultStrategyForm } from './ProjectDefaultStrategyForm';
import { CreateFeatureStrategySchema } from 'openapi'; import { CreateFeatureStrategySchema } from 'openapi';
import useProject from 'hooks/api/getters/useProject/useProject'; import useProject from 'hooks/api/getters/useProject/useProject';
const DEFAULT_STRATEGY = { export const DEFAULT_STRATEGY = {
name: 'flexibleRollout', name: 'flexibleRollout',
constraints: [], constraints: [],
parameters: { parameters: {