1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-27 11:02:16 +01:00

feat: delete milestone progression with CR (#10828)

This commit is contained in:
Mateusz Kwasniewski 2025-10-17 14:49:03 +02:00 committed by GitHub
parent c8ca11aebb
commit 0fda3e7cf1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 44 additions and 2 deletions

View File

@ -31,6 +31,10 @@ type ChangeRequestAction =
type: 'updateMilestoneProgression'; type: 'updateMilestoneProgression';
sourceMilestoneId: string; sourceMilestoneId: string;
payload: UpdateMilestoneProgressionSchema; payload: UpdateMilestoneProgressionSchema;
}
| {
type: 'deleteMilestoneProgression';
sourceMilestoneId: string;
}; };
interface IReleasePlanChangeRequestDialogProps { interface IReleasePlanChangeRequestDialogProps {
@ -134,6 +138,22 @@ export const ReleasePlanChangeRequestDialog = ({
</p> </p>
); );
} }
case 'deleteMilestoneProgression': {
const milestone = releasePlan.milestones.find(
(milestone) => milestone.id === action.sourceMilestoneId,
);
return (
<p>
<StyledBoldSpan>Remove</StyledBoldSpan> automation that
progresses from{' '}
<StyledBoldSpan>{milestone?.name}</StyledBoldSpan> to
the next milestone in{' '}
<StyledBoldSpan>{environmentId}</StyledBoldSpan>
</p>
);
}
} }
}; };

View File

@ -132,6 +132,10 @@ export const ReleasePlan = ({
sourceMilestoneId: string; sourceMilestoneId: string;
payload: UpdateMilestoneProgressionSchema; payload: UpdateMilestoneProgressionSchema;
} }
| {
type: 'deleteMilestoneProgression';
sourceMilestoneId: string;
}
| null | null
>(null); >(null);
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId); const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
@ -190,6 +194,16 @@ export const ReleasePlan = ({
}, },
}); });
break; break;
case 'deleteMilestoneProgression':
await addChange(projectId, environment, {
feature: featureName,
action: 'deleteMilestoneProgression',
payload: {
sourceMilestone: changeRequestAction.sourceMilestoneId,
},
});
break;
} }
await refetchChangeRequests(); await refetchChangeRequests();
@ -304,7 +318,14 @@ export const ReleasePlan = ({
}; };
const handleDeleteProgression = (milestone: IReleasePlanMilestone) => { const handleDeleteProgression = (milestone: IReleasePlanMilestone) => {
if (isChangeRequestConfigured(environment)) {
setChangeRequestAction({
type: 'deleteMilestoneProgression',
sourceMilestoneId: milestone.id,
});
} else {
setMilestoneToDeleteProgression(milestone); setMilestoneToDeleteProgression(milestone);
}
}; };
const handleCloseDeleteDialog = () => { const handleCloseDeleteDialog = () => {

View File

@ -23,7 +23,8 @@ export interface IChangeSchema {
| 'deleteReleasePlan' | 'deleteReleasePlan'
| 'startMilestone' | 'startMilestone'
| 'createMilestoneProgression' | 'createMilestoneProgression'
| 'updateMilestoneProgression'; | 'updateMilestoneProgression'
| 'deleteMilestoneProgression';
payload: string | boolean | object | number | undefined; payload: string | boolean | object | number | undefined;
} }