mirror of
https://github.com/Unleash/unleash.git
synced 2025-10-27 11:02:16 +01:00
refactor: update/create progression to change progression (#10843)
This commit is contained in:
parent
866441a1b6
commit
0919b7b925
@ -2,8 +2,7 @@ import type { FC } from 'react';
|
|||||||
import { styled } from '@mui/material';
|
import { styled } from '@mui/material';
|
||||||
import type {
|
import type {
|
||||||
ChangeRequestState,
|
ChangeRequestState,
|
||||||
IChangeRequestCreateMilestoneProgression,
|
IChangeRequestChangeMilestoneProgression,
|
||||||
IChangeRequestUpdateMilestoneProgression,
|
|
||||||
IChangeRequestDeleteMilestoneProgression,
|
IChangeRequestDeleteMilestoneProgression,
|
||||||
IChangeRequestFeature,
|
IChangeRequestFeature,
|
||||||
} from 'component/changeRequest/changeRequest.types';
|
} from 'component/changeRequest/changeRequest.types';
|
||||||
@ -15,7 +14,7 @@ import {
|
|||||||
ChangeItemWrapper,
|
ChangeItemWrapper,
|
||||||
Deleted,
|
Deleted,
|
||||||
} from './Change.styles.tsx';
|
} from './Change.styles.tsx';
|
||||||
import type { UpdateMilestoneProgressionSchema } from 'openapi';
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
import { MilestoneListRenderer } from './MilestoneListRenderer.tsx';
|
import { MilestoneListRenderer } from './MilestoneListRenderer.tsx';
|
||||||
import { applyProgressionChanges } from './applyProgressionChanges.js';
|
import { applyProgressionChanges } from './applyProgressionChanges.js';
|
||||||
import { EventDiff } from 'component/events/EventDiff/EventDiff';
|
import { EventDiff } from 'component/events/EventDiff/EventDiff';
|
||||||
@ -27,33 +26,15 @@ const StyledTabs = styled(Tabs)(({ theme }) => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
type ProgressionChange =
|
type ProgressionChange =
|
||||||
| IChangeRequestCreateMilestoneProgression
|
| IChangeRequestChangeMilestoneProgression
|
||||||
| IChangeRequestUpdateMilestoneProgression
|
|
||||||
| IChangeRequestDeleteMilestoneProgression;
|
| IChangeRequestDeleteMilestoneProgression;
|
||||||
|
|
||||||
const getFirstChangeWithSnapshot = (
|
|
||||||
progressionChanges: ProgressionChange[],
|
|
||||||
) => {
|
|
||||||
return (
|
|
||||||
progressionChanges.find(
|
|
||||||
(change) =>
|
|
||||||
change.payload?.snapshot &&
|
|
||||||
(change.action === 'createMilestoneProgression' ||
|
|
||||||
change.action === 'updateMilestoneProgression'),
|
|
||||||
) || progressionChanges.find((change) => change.payload?.snapshot)
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const getMilestonesWithAutomation = (
|
const getMilestonesWithAutomation = (
|
||||||
progressionChanges: ProgressionChange[],
|
progressionChanges: ProgressionChange[],
|
||||||
): Set<string> => {
|
): Set<string> => {
|
||||||
return new Set(
|
return new Set(
|
||||||
progressionChanges
|
progressionChanges
|
||||||
.filter(
|
.filter((change) => change.action === 'changeMilestoneProgression')
|
||||||
(change) =>
|
|
||||||
change.action === 'createMilestoneProgression' ||
|
|
||||||
change.action === 'updateMilestoneProgression',
|
|
||||||
)
|
|
||||||
.map((change) => change.payload.sourceMilestone)
|
.map((change) => change.payload.sourceMilestone)
|
||||||
.filter((id): id is string => Boolean(id)),
|
.filter((id): id is string => Boolean(id)),
|
||||||
);
|
);
|
||||||
@ -80,11 +61,9 @@ const getChangeDescriptions = (
|
|||||||
basePlan.milestones.find((milestone) => milestone.id === sourceId)
|
basePlan.milestones.find((milestone) => milestone.id === sourceId)
|
||||||
?.name || sourceId;
|
?.name || sourceId;
|
||||||
const action =
|
const action =
|
||||||
change.action === 'createMilestoneProgression'
|
change.action === 'changeMilestoneProgression'
|
||||||
? 'Adding'
|
? 'Changing'
|
||||||
: change.action === 'deleteMilestoneProgression'
|
: 'Deleting';
|
||||||
? 'Deleting'
|
|
||||||
: 'Updating';
|
|
||||||
return `${action} automation for ${sourceName}`;
|
return `${action} automation for ${sourceName}`;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -95,7 +74,7 @@ export const ConsolidatedProgressionChanges: FC<{
|
|||||||
changeRequestState: ChangeRequestState;
|
changeRequestState: ChangeRequestState;
|
||||||
onUpdateChangeRequestSubmit?: (
|
onUpdateChangeRequestSubmit?: (
|
||||||
sourceMilestoneId: string,
|
sourceMilestoneId: string,
|
||||||
payload: UpdateMilestoneProgressionSchema,
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
) => Promise<void>;
|
) => Promise<void>;
|
||||||
onDeleteChangeRequestSubmit?: (sourceMilestoneId: string) => Promise<void>;
|
onDeleteChangeRequestSubmit?: (sourceMilestoneId: string) => Promise<void>;
|
||||||
}> = ({
|
}> = ({
|
||||||
@ -110,20 +89,15 @@ export const ConsolidatedProgressionChanges: FC<{
|
|||||||
(
|
(
|
||||||
change,
|
change,
|
||||||
): change is
|
): change is
|
||||||
| IChangeRequestCreateMilestoneProgression
|
| IChangeRequestChangeMilestoneProgression
|
||||||
| IChangeRequestUpdateMilestoneProgression
|
|
||||||
| IChangeRequestDeleteMilestoneProgression =>
|
| IChangeRequestDeleteMilestoneProgression =>
|
||||||
change.action === 'createMilestoneProgression' ||
|
change.action === 'changeMilestoneProgression' ||
|
||||||
change.action === 'updateMilestoneProgression' ||
|
|
||||||
change.action === 'deleteMilestoneProgression',
|
change.action === 'deleteMilestoneProgression',
|
||||||
);
|
);
|
||||||
|
|
||||||
if (progressionChanges.length === 0) return null;
|
if (progressionChanges.length === 0) return null;
|
||||||
|
|
||||||
const firstChangeWithSnapshot =
|
const basePlan = currentReleasePlan;
|
||||||
getFirstChangeWithSnapshot(progressionChanges);
|
|
||||||
const basePlan =
|
|
||||||
firstChangeWithSnapshot?.payload?.snapshot || currentReleasePlan;
|
|
||||||
|
|
||||||
if (!basePlan) {
|
if (!basePlan) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -207,8 +207,7 @@ export const FeatureChange: FC<{
|
|||||||
{(change.action === 'addReleasePlan' ||
|
{(change.action === 'addReleasePlan' ||
|
||||||
change.action === 'deleteReleasePlan' ||
|
change.action === 'deleteReleasePlan' ||
|
||||||
change.action === 'startMilestone' ||
|
change.action === 'startMilestone' ||
|
||||||
change.action === 'createMilestoneProgression' ||
|
change.action === 'changeMilestoneProgression' ||
|
||||||
change.action === 'updateMilestoneProgression' ||
|
|
||||||
change.action === 'deleteMilestoneProgression') && (
|
change.action === 'deleteMilestoneProgression') && (
|
||||||
<ReleasePlanChange
|
<ReleasePlanChange
|
||||||
actions={actions}
|
actions={actions}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { styled } from '@mui/material';
|
import { styled } from '@mui/material';
|
||||||
import type { IReleasePlan } from 'interfaces/releasePlans';
|
import type { IReleasePlan } from 'interfaces/releasePlans';
|
||||||
import type { UpdateMilestoneProgressionSchema } from 'openapi';
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
import type { ChangeRequestState } from 'component/changeRequest/changeRequest.types';
|
import type { ChangeRequestState } from 'component/changeRequest/changeRequest.types';
|
||||||
import { ReleasePlanMilestone } from 'component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanMilestone/ReleasePlanMilestone';
|
import { ReleasePlanMilestone } from 'component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanMilestone/ReleasePlanMilestone';
|
||||||
import { MilestoneAutomationSection } from 'component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanMilestone/MilestoneAutomationSection.tsx';
|
import { MilestoneAutomationSection } from 'component/feature/FeatureView/FeatureOverview/ReleasePlan/ReleasePlanMilestone/MilestoneAutomationSection.tsx';
|
||||||
@ -22,7 +22,7 @@ interface MilestoneListRendererProps {
|
|||||||
milestonesWithDeletedAutomation?: Set<string>;
|
milestonesWithDeletedAutomation?: Set<string>;
|
||||||
onUpdateAutomation?: (
|
onUpdateAutomation?: (
|
||||||
sourceMilestoneId: string,
|
sourceMilestoneId: string,
|
||||||
payload: UpdateMilestoneProgressionSchema,
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
) => Promise<void>;
|
) => Promise<void>;
|
||||||
onDeleteAutomation?: (sourceMilestoneId: string) => void;
|
onDeleteAutomation?: (sourceMilestoneId: string) => void;
|
||||||
}
|
}
|
||||||
@ -44,6 +44,7 @@ export const MilestoneListRenderer = ({
|
|||||||
<>
|
<>
|
||||||
{plan.milestones.map((milestone, index) => {
|
{plan.milestones.map((milestone, index) => {
|
||||||
const isNotLastMilestone = index < plan.milestones.length - 1;
|
const isNotLastMilestone = index < plan.milestones.length - 1;
|
||||||
|
const nextMilestoneId = plan.milestones[index + 1]?.id || '';
|
||||||
const shouldShowAutomation =
|
const shouldShowAutomation =
|
||||||
milestonesWithAutomation.has(milestone.id) ||
|
milestonesWithAutomation.has(milestone.id) ||
|
||||||
milestonesWithDeletedAutomation.has(milestone.id);
|
milestonesWithDeletedAutomation.has(milestone.id);
|
||||||
@ -67,6 +68,7 @@ export const MilestoneListRenderer = ({
|
|||||||
milestone.transitionCondition
|
milestone.transitionCondition
|
||||||
.intervalMinutes
|
.intervalMinutes
|
||||||
}
|
}
|
||||||
|
targetMilestoneId={nextMilestoneId}
|
||||||
onSave={async (payload) => {
|
onSave={async (payload) => {
|
||||||
await onUpdateAutomation?.(
|
await onUpdateAutomation?.(
|
||||||
milestone.id,
|
milestone.id,
|
||||||
|
|||||||
@ -2,19 +2,13 @@ import type { FC, ReactNode } from 'react';
|
|||||||
import { Typography } from '@mui/material';
|
import { Typography } from '@mui/material';
|
||||||
import type {
|
import type {
|
||||||
ChangeRequestState,
|
ChangeRequestState,
|
||||||
IChangeRequestCreateMilestoneProgression,
|
IChangeRequestChangeMilestoneProgression,
|
||||||
IChangeRequestUpdateMilestoneProgression,
|
|
||||||
} from 'component/changeRequest/changeRequest.types';
|
} from 'component/changeRequest/changeRequest.types';
|
||||||
import type { IReleasePlan } from 'interfaces/releasePlans';
|
import type { IReleasePlan } from 'interfaces/releasePlans';
|
||||||
import type { UpdateMilestoneProgressionSchema } from 'openapi';
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
import { EventDiff } from 'component/events/EventDiff/EventDiff';
|
import { EventDiff } from 'component/events/EventDiff/EventDiff';
|
||||||
import { Tab, TabList, TabPanel, Tabs } from './ChangeTabComponents.tsx';
|
import { Tab, TabList, TabPanel, Tabs } from './ChangeTabComponents.tsx';
|
||||||
import {
|
import { Action, ChangeItemInfo, ChangeItemWrapper } from './Change.styles.tsx';
|
||||||
Action,
|
|
||||||
Added,
|
|
||||||
ChangeItemInfo,
|
|
||||||
ChangeItemWrapper,
|
|
||||||
} from './Change.styles.tsx';
|
|
||||||
import { styled } from '@mui/material';
|
import { styled } from '@mui/material';
|
||||||
import { MilestoneListRenderer } from './MilestoneListRenderer.tsx';
|
import { MilestoneListRenderer } from './MilestoneListRenderer.tsx';
|
||||||
import { applyProgressionChanges } from './applyProgressionChanges.ts';
|
import { applyProgressionChanges } from './applyProgressionChanges.ts';
|
||||||
@ -26,15 +20,13 @@ const StyledTabs = styled(Tabs)(({ theme }) => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
interface ProgressionChangeProps {
|
interface ProgressionChangeProps {
|
||||||
change:
|
change: IChangeRequestChangeMilestoneProgression;
|
||||||
| IChangeRequestCreateMilestoneProgression
|
|
||||||
| IChangeRequestUpdateMilestoneProgression;
|
|
||||||
currentReleasePlan?: IReleasePlan;
|
currentReleasePlan?: IReleasePlan;
|
||||||
actions?: ReactNode;
|
actions?: ReactNode;
|
||||||
changeRequestState: ChangeRequestState;
|
changeRequestState: ChangeRequestState;
|
||||||
onUpdateChangeRequestSubmit?: (
|
onUpdateChangeRequestSubmit?: (
|
||||||
sourceMilestoneId: string,
|
sourceMilestoneId: string,
|
||||||
payload: UpdateMilestoneProgressionSchema,
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
) => Promise<void>;
|
) => Promise<void>;
|
||||||
onDeleteChangeRequestSubmit?: (sourceMilestoneId: string) => void;
|
onDeleteChangeRequestSubmit?: (sourceMilestoneId: string) => void;
|
||||||
}
|
}
|
||||||
@ -47,12 +39,10 @@ export const ProgressionChange: FC<ProgressionChangeProps> = ({
|
|||||||
onUpdateChangeRequestSubmit,
|
onUpdateChangeRequestSubmit,
|
||||||
onDeleteChangeRequestSubmit,
|
onDeleteChangeRequestSubmit,
|
||||||
}) => {
|
}) => {
|
||||||
const basePlan = change.payload.snapshot || currentReleasePlan;
|
const basePlan = currentReleasePlan;
|
||||||
if (!basePlan) return null;
|
if (!basePlan) return null;
|
||||||
|
|
||||||
const isCreate = change.action === 'createMilestoneProgression';
|
|
||||||
const sourceId = change.payload.sourceMilestone;
|
const sourceId = change.payload.sourceMilestone;
|
||||||
|
|
||||||
if (!sourceId) return null;
|
if (!sourceId) return null;
|
||||||
|
|
||||||
const sourceMilestone = basePlan.milestones.find(
|
const sourceMilestone = basePlan.milestones.find(
|
||||||
@ -60,11 +50,10 @@ export const ProgressionChange: FC<ProgressionChangeProps> = ({
|
|||||||
);
|
);
|
||||||
const sourceMilestoneName = sourceMilestone?.name || sourceId;
|
const sourceMilestoneName = sourceMilestone?.name || sourceId;
|
||||||
|
|
||||||
const targetMilestoneName = isCreate
|
const targetMilestoneName =
|
||||||
? basePlan.milestones.find(
|
basePlan.milestones.find(
|
||||||
(milestone) => milestone.id === change.payload.targetMilestone,
|
(milestone) => milestone.id === change.payload.targetMilestone,
|
||||||
)?.name || change.payload.targetMilestone
|
)?.name || change.payload.targetMilestone;
|
||||||
: undefined;
|
|
||||||
|
|
||||||
const modifiedPlan = applyProgressionChanges(basePlan, [change]);
|
const modifiedPlan = applyProgressionChanges(basePlan, [change]);
|
||||||
|
|
||||||
@ -77,21 +66,10 @@ export const ProgressionChange: FC<ProgressionChangeProps> = ({
|
|||||||
<StyledTabs>
|
<StyledTabs>
|
||||||
<ChangeItemWrapper>
|
<ChangeItemWrapper>
|
||||||
<ChangeItemInfo>
|
<ChangeItemInfo>
|
||||||
{isCreate ? (
|
<Action>Changing automation in release plan</Action>
|
||||||
<>
|
|
||||||
<Added>Adding automation to release plan</Added>
|
|
||||||
<Typography component='span'>
|
<Typography component='span'>
|
||||||
{sourceMilestoneName} → {targetMilestoneName}
|
{sourceMilestoneName} → {targetMilestoneName}
|
||||||
</Typography>
|
</Typography>
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<Action>Updating automation in release plan</Action>
|
|
||||||
<Typography component='span'>
|
|
||||||
{sourceMilestoneName}
|
|
||||||
</Typography>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</ChangeItemInfo>
|
</ChangeItemInfo>
|
||||||
<div>
|
<div>
|
||||||
<TabList>
|
<TabList>
|
||||||
@ -105,7 +83,9 @@ export const ProgressionChange: FC<ProgressionChangeProps> = ({
|
|||||||
<MilestoneListRenderer
|
<MilestoneListRenderer
|
||||||
plan={modifiedPlan}
|
plan={modifiedPlan}
|
||||||
changeRequestState={changeRequestState}
|
changeRequestState={changeRequestState}
|
||||||
milestonesWithAutomation={new Set([sourceId])}
|
milestonesWithAutomation={
|
||||||
|
new Set([sourceId].filter(Boolean))
|
||||||
|
}
|
||||||
onUpdateAutomation={onUpdateChangeRequestSubmit}
|
onUpdateAutomation={onUpdateChangeRequestSubmit}
|
||||||
onDeleteAutomation={onDeleteChangeRequestSubmit}
|
onDeleteAutomation={onDeleteChangeRequestSubmit}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -5,8 +5,7 @@ import type {
|
|||||||
IChangeRequestAddReleasePlan,
|
IChangeRequestAddReleasePlan,
|
||||||
IChangeRequestDeleteReleasePlan,
|
IChangeRequestDeleteReleasePlan,
|
||||||
IChangeRequestStartMilestone,
|
IChangeRequestStartMilestone,
|
||||||
IChangeRequestCreateMilestoneProgression,
|
IChangeRequestChangeMilestoneProgression,
|
||||||
IChangeRequestUpdateMilestoneProgression,
|
|
||||||
IChangeRequestDeleteMilestoneProgression,
|
IChangeRequestDeleteMilestoneProgression,
|
||||||
} from 'component/changeRequest/changeRequest.types';
|
} from 'component/changeRequest/changeRequest.types';
|
||||||
import { useReleasePlanPreview } from 'hooks/useReleasePlanPreview';
|
import { useReleasePlanPreview } from 'hooks/useReleasePlanPreview';
|
||||||
@ -27,7 +26,7 @@ import {
|
|||||||
import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi';
|
import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi';
|
||||||
import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests';
|
import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests';
|
||||||
import useToast from 'hooks/useToast';
|
import useToast from 'hooks/useToast';
|
||||||
import type { UpdateMilestoneProgressionSchema } from 'openapi';
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
import { ProgressionChange } from './ProgressionChange.tsx';
|
import { ProgressionChange } from './ProgressionChange.tsx';
|
||||||
import { ConsolidatedProgressionChanges } from './ConsolidatedProgressionChanges.tsx';
|
import { ConsolidatedProgressionChanges } from './ConsolidatedProgressionChanges.tsx';
|
||||||
|
|
||||||
@ -245,8 +244,7 @@ export const ReleasePlanChange: FC<{
|
|||||||
| IChangeRequestAddReleasePlan
|
| IChangeRequestAddReleasePlan
|
||||||
| IChangeRequestDeleteReleasePlan
|
| IChangeRequestDeleteReleasePlan
|
||||||
| IChangeRequestStartMilestone
|
| IChangeRequestStartMilestone
|
||||||
| IChangeRequestCreateMilestoneProgression
|
| IChangeRequestChangeMilestoneProgression
|
||||||
| IChangeRequestUpdateMilestoneProgression
|
|
||||||
| IChangeRequestDeleteMilestoneProgression;
|
| IChangeRequestDeleteMilestoneProgression;
|
||||||
environmentName: string;
|
environmentName: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
@ -277,11 +275,11 @@ export const ReleasePlanChange: FC<{
|
|||||||
|
|
||||||
const handleUpdateChangeRequestSubmit = async (
|
const handleUpdateChangeRequestSubmit = async (
|
||||||
sourceMilestoneId: string,
|
sourceMilestoneId: string,
|
||||||
payload: UpdateMilestoneProgressionSchema,
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
) => {
|
) => {
|
||||||
await addChange(projectId, environmentName, {
|
await addChange(projectId, environmentName, {
|
||||||
feature: featureName,
|
feature: featureName,
|
||||||
action: 'updateMilestoneProgression',
|
action: 'changeMilestoneProgression',
|
||||||
payload: {
|
payload: {
|
||||||
sourceMilestone: sourceMilestoneId,
|
sourceMilestone: sourceMilestoneId,
|
||||||
...payload,
|
...payload,
|
||||||
@ -321,19 +319,16 @@ export const ReleasePlanChange: FC<{
|
|||||||
// check if we should consolidate with other progression changes
|
// check if we should consolidate with other progression changes
|
||||||
if (
|
if (
|
||||||
feature &&
|
feature &&
|
||||||
(change.action === 'createMilestoneProgression' ||
|
(change.action === 'changeMilestoneProgression' ||
|
||||||
change.action === 'updateMilestoneProgression' ||
|
|
||||||
change.action === 'deleteMilestoneProgression')
|
change.action === 'deleteMilestoneProgression')
|
||||||
) {
|
) {
|
||||||
const progressionChanges = feature.changes.filter(
|
const progressionChanges = feature.changes.filter(
|
||||||
(
|
(
|
||||||
change,
|
change,
|
||||||
): change is
|
): change is
|
||||||
| IChangeRequestCreateMilestoneProgression
|
| IChangeRequestChangeMilestoneProgression
|
||||||
| IChangeRequestUpdateMilestoneProgression
|
|
||||||
| IChangeRequestDeleteMilestoneProgression =>
|
| IChangeRequestDeleteMilestoneProgression =>
|
||||||
change.action === 'createMilestoneProgression' ||
|
change.action === 'changeMilestoneProgression' ||
|
||||||
change.action === 'updateMilestoneProgression' ||
|
|
||||||
change.action === 'deleteMilestoneProgression',
|
change.action === 'deleteMilestoneProgression',
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -383,8 +378,7 @@ export const ReleasePlanChange: FC<{
|
|||||||
actions={actions}
|
actions={actions}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{(change.action === 'createMilestoneProgression' ||
|
{change.action === 'changeMilestoneProgression' && (
|
||||||
change.action === 'updateMilestoneProgression') && (
|
|
||||||
<ProgressionChange
|
<ProgressionChange
|
||||||
change={change}
|
change={change}
|
||||||
currentReleasePlan={currentReleasePlan}
|
currentReleasePlan={currentReleasePlan}
|
||||||
|
|||||||
@ -1,13 +1,11 @@
|
|||||||
import type { IReleasePlan } from 'interfaces/releasePlans';
|
import type { IReleasePlan } from 'interfaces/releasePlans';
|
||||||
import type {
|
import type {
|
||||||
IChangeRequestCreateMilestoneProgression,
|
IChangeRequestChangeMilestoneProgression,
|
||||||
IChangeRequestUpdateMilestoneProgression,
|
|
||||||
IChangeRequestDeleteMilestoneProgression,
|
IChangeRequestDeleteMilestoneProgression,
|
||||||
} from 'component/changeRequest/changeRequest.types';
|
} from 'component/changeRequest/changeRequest.types';
|
||||||
|
|
||||||
type ProgressionChange =
|
type ProgressionChange =
|
||||||
| IChangeRequestCreateMilestoneProgression
|
| IChangeRequestChangeMilestoneProgression
|
||||||
| IChangeRequestUpdateMilestoneProgression
|
|
||||||
| IChangeRequestDeleteMilestoneProgression;
|
| IChangeRequestDeleteMilestoneProgression;
|
||||||
|
|
||||||
export const applyProgressionChanges = (
|
export const applyProgressionChanges = (
|
||||||
@ -17,14 +15,9 @@ export const applyProgressionChanges = (
|
|||||||
return {
|
return {
|
||||||
...basePlan,
|
...basePlan,
|
||||||
milestones: basePlan.milestones.map((milestone) => {
|
milestones: basePlan.milestones.map((milestone) => {
|
||||||
const createChange = progressionChanges.find(
|
const changeProgression = progressionChanges.find(
|
||||||
(change): change is IChangeRequestCreateMilestoneProgression =>
|
(change): change is IChangeRequestChangeMilestoneProgression =>
|
||||||
change.action === 'createMilestoneProgression' &&
|
change.action === 'changeMilestoneProgression' &&
|
||||||
change.payload.sourceMilestone === milestone.id,
|
|
||||||
);
|
|
||||||
const updateChange = progressionChanges.find(
|
|
||||||
(change): change is IChangeRequestUpdateMilestoneProgression =>
|
|
||||||
change.action === 'updateMilestoneProgression' &&
|
|
||||||
change.payload.sourceMilestone === milestone.id,
|
change.payload.sourceMilestone === milestone.id,
|
||||||
);
|
);
|
||||||
const deleteChange = progressionChanges.find(
|
const deleteChange = progressionChanges.find(
|
||||||
@ -40,11 +33,11 @@ export const applyProgressionChanges = (
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const change = updateChange || createChange;
|
if (changeProgression) {
|
||||||
if (change) {
|
|
||||||
return {
|
return {
|
||||||
...milestone,
|
...milestone,
|
||||||
transitionCondition: change.payload.transitionCondition,
|
transitionCondition:
|
||||||
|
changeProgression.payload.transitionCondition,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
return milestone;
|
return milestone;
|
||||||
|
|||||||
@ -2,11 +2,7 @@ import type { IFeatureVariant } from 'interfaces/featureToggle';
|
|||||||
import type { ISegment } from 'interfaces/segment';
|
import type { ISegment } from 'interfaces/segment';
|
||||||
import type { IFeatureStrategy } from '../../interfaces/strategy.js';
|
import type { IFeatureStrategy } from '../../interfaces/strategy.js';
|
||||||
import type { IUser } from '../../interfaces/user.js';
|
import type { IUser } from '../../interfaces/user.js';
|
||||||
import type {
|
import type { SetStrategySortOrderSchema } from 'openapi';
|
||||||
SetStrategySortOrderSchema,
|
|
||||||
CreateMilestoneProgressionSchema,
|
|
||||||
UpdateMilestoneProgressionSchema,
|
|
||||||
} from 'openapi';
|
|
||||||
import type { IReleasePlan } from 'interfaces/releasePlans';
|
import type { IReleasePlan } from 'interfaces/releasePlans';
|
||||||
|
|
||||||
type BaseChangeRequest = {
|
type BaseChangeRequest = {
|
||||||
@ -136,8 +132,7 @@ type ChangeRequestPayload =
|
|||||||
| ChangeRequestAddReleasePlan
|
| ChangeRequestAddReleasePlan
|
||||||
| ChangeRequestDeleteReleasePlan
|
| ChangeRequestDeleteReleasePlan
|
||||||
| ChangeRequestStartMilestone
|
| ChangeRequestStartMilestone
|
||||||
| ChangeRequestCreateMilestoneProgression
|
| ChangeRequestChangeMilestoneProgression
|
||||||
| ChangeRequestUpdateMilestoneProgression
|
|
||||||
| ChangeRequestDeleteMilestoneProgression;
|
| ChangeRequestDeleteMilestoneProgression;
|
||||||
|
|
||||||
export interface IChangeRequestAddStrategy extends IChangeRequestChangeBase {
|
export interface IChangeRequestAddStrategy extends IChangeRequestChangeBase {
|
||||||
@ -195,16 +190,10 @@ export interface IChangeRequestStartMilestone extends IChangeRequestChangeBase {
|
|||||||
payload: ChangeRequestStartMilestone;
|
payload: ChangeRequestStartMilestone;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IChangeRequestCreateMilestoneProgression
|
export interface IChangeRequestChangeMilestoneProgression
|
||||||
extends IChangeRequestChangeBase {
|
extends IChangeRequestChangeBase {
|
||||||
action: 'createMilestoneProgression';
|
action: 'changeMilestoneProgression';
|
||||||
payload: ChangeRequestCreateMilestoneProgression;
|
payload: ChangeRequestChangeMilestoneProgression;
|
||||||
}
|
|
||||||
|
|
||||||
export interface IChangeRequestUpdateMilestoneProgression
|
|
||||||
extends IChangeRequestChangeBase {
|
|
||||||
action: 'updateMilestoneProgression';
|
|
||||||
payload: ChangeRequestUpdateMilestoneProgression;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IChangeRequestDeleteMilestoneProgression
|
export interface IChangeRequestDeleteMilestoneProgression
|
||||||
@ -261,8 +250,7 @@ export type IFeatureChange =
|
|||||||
| IChangeRequestAddReleasePlan
|
| IChangeRequestAddReleasePlan
|
||||||
| IChangeRequestDeleteReleasePlan
|
| IChangeRequestDeleteReleasePlan
|
||||||
| IChangeRequestStartMilestone
|
| IChangeRequestStartMilestone
|
||||||
| IChangeRequestCreateMilestoneProgression
|
| IChangeRequestChangeMilestoneProgression
|
||||||
| IChangeRequestUpdateMilestoneProgression
|
|
||||||
| IChangeRequestDeleteMilestoneProgression;
|
| IChangeRequestDeleteMilestoneProgression;
|
||||||
|
|
||||||
export type ISegmentChange =
|
export type ISegmentChange =
|
||||||
@ -296,22 +284,14 @@ type ChangeRequestStartMilestone = {
|
|||||||
snapshot?: IReleasePlan;
|
snapshot?: IReleasePlan;
|
||||||
};
|
};
|
||||||
|
|
||||||
type ChangeRequestCreateMilestoneProgression =
|
type ChangeRequestChangeMilestoneProgression = {
|
||||||
CreateMilestoneProgressionSchema & {
|
sourceMilestone: string;
|
||||||
snapshot?: IReleasePlan;
|
targetMilestone: string;
|
||||||
};
|
transitionCondition: { intervalMinutes: number };
|
||||||
|
};
|
||||||
type ChangeRequestUpdateMilestoneProgression =
|
|
||||||
UpdateMilestoneProgressionSchema & {
|
|
||||||
sourceMilestoneId?: string;
|
|
||||||
sourceMilestone?: string; // Backward compatibility for existing change requests
|
|
||||||
snapshot?: IReleasePlan;
|
|
||||||
};
|
|
||||||
|
|
||||||
type ChangeRequestDeleteMilestoneProgression = {
|
type ChangeRequestDeleteMilestoneProgression = {
|
||||||
sourceMilestoneId?: string;
|
sourceMilestone: string;
|
||||||
sourceMilestone?: string; // Backward compatibility for existing change requests
|
|
||||||
snapshot?: IReleasePlan;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ChangeRequestAddStrategy = Pick<
|
export type ChangeRequestAddStrategy = Pick<
|
||||||
@ -352,6 +332,5 @@ export type ChangeRequestAction =
|
|||||||
| 'addReleasePlan'
|
| 'addReleasePlan'
|
||||||
| 'deleteReleasePlan'
|
| 'deleteReleasePlan'
|
||||||
| 'startMilestone'
|
| 'startMilestone'
|
||||||
| 'createMilestoneProgression'
|
| 'changeMilestoneProgression'
|
||||||
| 'updateMilestoneProgression'
|
|
||||||
| 'deleteMilestoneProgression';
|
| 'deleteMilestoneProgression';
|
||||||
|
|||||||
@ -4,10 +4,7 @@ import type {
|
|||||||
IReleasePlan,
|
IReleasePlan,
|
||||||
IReleasePlanMilestone,
|
IReleasePlanMilestone,
|
||||||
} from 'interfaces/releasePlans';
|
} from 'interfaces/releasePlans';
|
||||||
import type {
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
CreateMilestoneProgressionSchema,
|
|
||||||
UpdateMilestoneProgressionSchema,
|
|
||||||
} from 'openapi';
|
|
||||||
import { getTimeValueAndUnitFromMinutes } from '../hooks/useMilestoneProgressionForm.js';
|
import { getTimeValueAndUnitFromMinutes } from '../hooks/useMilestoneProgressionForm.js';
|
||||||
|
|
||||||
const StyledBoldSpan = styled('span')(({ theme }) => ({
|
const StyledBoldSpan = styled('span')(({ theme }) => ({
|
||||||
@ -24,13 +21,8 @@ type ChangeRequestAction =
|
|||||||
milestone: IReleasePlanMilestone;
|
milestone: IReleasePlanMilestone;
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: 'createMilestoneProgression';
|
type: 'changeMilestoneProgression';
|
||||||
payload: CreateMilestoneProgressionSchema;
|
payload: ChangeMilestoneProgressionSchema;
|
||||||
}
|
|
||||||
| {
|
|
||||||
type: 'updateMilestoneProgression';
|
|
||||||
sourceMilestoneId: string;
|
|
||||||
payload: UpdateMilestoneProgressionSchema;
|
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: 'deleteMilestoneProgression';
|
type: 'deleteMilestoneProgression';
|
||||||
@ -91,7 +83,7 @@ export const ReleasePlanChangeRequestDialog = ({
|
|||||||
</p>
|
</p>
|
||||||
);
|
);
|
||||||
|
|
||||||
case 'createMilestoneProgression': {
|
case 'changeMilestoneProgression': {
|
||||||
const sourceMilestone = releasePlan.milestones.find(
|
const sourceMilestone = releasePlan.milestones.find(
|
||||||
(milestone) =>
|
(milestone) =>
|
||||||
milestone.id === action.payload.sourceMilestone,
|
milestone.id === action.payload.sourceMilestone,
|
||||||
@ -108,7 +100,7 @@ export const ReleasePlanChangeRequestDialog = ({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<p>
|
<p>
|
||||||
Create automation to proceed from{' '}
|
Configure automation to proceed from{' '}
|
||||||
<StyledBoldSpan>{sourceMilestone?.name}</StyledBoldSpan>{' '}
|
<StyledBoldSpan>{sourceMilestone?.name}</StyledBoldSpan>{' '}
|
||||||
to{' '}
|
to{' '}
|
||||||
<StyledBoldSpan>{targetMilestone?.name}</StyledBoldSpan>{' '}
|
<StyledBoldSpan>{targetMilestone?.name}</StyledBoldSpan>{' '}
|
||||||
@ -118,27 +110,6 @@ export const ReleasePlanChangeRequestDialog = ({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'updateMilestoneProgression': {
|
|
||||||
const milestone = releasePlan.milestones.find(
|
|
||||||
(milestone) => milestone.id === action.sourceMilestoneId,
|
|
||||||
);
|
|
||||||
|
|
||||||
const { value, unit } = getTimeValueAndUnitFromMinutes(
|
|
||||||
action.payload.transitionCondition.intervalMinutes,
|
|
||||||
);
|
|
||||||
const timeInterval = `${value} ${unit}`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<p>
|
|
||||||
Update automation for{' '}
|
|
||||||
<StyledBoldSpan>{milestone?.name}</StyledBoldSpan> to
|
|
||||||
proceed after{' '}
|
|
||||||
<StyledBoldSpan>{timeInterval}</StyledBoldSpan> in{' '}
|
|
||||||
{environmentId}
|
|
||||||
</p>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
case 'deleteMilestoneProgression': {
|
case 'deleteMilestoneProgression': {
|
||||||
const milestone = releasePlan.milestones.find(
|
const milestone = releasePlan.milestones.find(
|
||||||
(milestone) => milestone.id === action.sourceMilestoneId,
|
(milestone) => milestone.id === action.sourceMilestoneId,
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { Button, styled } from '@mui/material';
|
|||||||
import BoltIcon from '@mui/icons-material/Bolt';
|
import BoltIcon from '@mui/icons-material/Bolt';
|
||||||
import { useMilestoneProgressionForm } from '../hooks/useMilestoneProgressionForm.js';
|
import { useMilestoneProgressionForm } from '../hooks/useMilestoneProgressionForm.js';
|
||||||
import { MilestoneProgressionTimeInput } from './MilestoneProgressionTimeInput.tsx';
|
import { MilestoneProgressionTimeInput } from './MilestoneProgressionTimeInput.tsx';
|
||||||
import type { CreateMilestoneProgressionSchema } from 'openapi';
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
|
|
||||||
const StyledFormContainer = styled('div')(({ theme }) => ({
|
const StyledFormContainer = styled('div')(({ theme }) => ({
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
@ -55,7 +55,9 @@ const StyledErrorMessage = styled('span')(({ theme }) => ({
|
|||||||
interface IMilestoneProgressionFormProps {
|
interface IMilestoneProgressionFormProps {
|
||||||
sourceMilestoneId: string;
|
sourceMilestoneId: string;
|
||||||
targetMilestoneId: string;
|
targetMilestoneId: string;
|
||||||
onSubmit: (payload: CreateMilestoneProgressionSchema) => Promise<void>;
|
onSubmit: (
|
||||||
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
|
) => Promise<{ shouldReset?: boolean }>;
|
||||||
onCancel: () => void;
|
onCancel: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -22,10 +22,7 @@ import { Truncator } from 'component/common/Truncator/Truncator';
|
|||||||
import { useUiFlag } from 'hooks/useUiFlag';
|
import { useUiFlag } from 'hooks/useUiFlag';
|
||||||
import { useMilestoneProgressionsApi } from 'hooks/api/actions/useMilestoneProgressionsApi/useMilestoneProgressionsApi';
|
import { useMilestoneProgressionsApi } from 'hooks/api/actions/useMilestoneProgressionsApi/useMilestoneProgressionsApi';
|
||||||
import { DeleteProgressionDialog } from './DeleteProgressionDialog.tsx';
|
import { DeleteProgressionDialog } from './DeleteProgressionDialog.tsx';
|
||||||
import type {
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
CreateMilestoneProgressionSchema,
|
|
||||||
UpdateMilestoneProgressionSchema,
|
|
||||||
} from 'openapi';
|
|
||||||
import { ReleasePlanMilestoneItem } from './ReleasePlanMilestoneItem/ReleasePlanMilestoneItem.tsx';
|
import { ReleasePlanMilestoneItem } from './ReleasePlanMilestoneItem/ReleasePlanMilestoneItem.tsx';
|
||||||
|
|
||||||
const StyledContainer = styled('div')(({ theme }) => ({
|
const StyledContainer = styled('div')(({ theme }) => ({
|
||||||
@ -111,13 +108,8 @@ export const ReleasePlan = ({
|
|||||||
| { type: 'removeReleasePlan'; environmentActive: boolean }
|
| { type: 'removeReleasePlan'; environmentActive: boolean }
|
||||||
| { type: 'startMilestone'; milestone: IReleasePlanMilestone }
|
| { type: 'startMilestone'; milestone: IReleasePlanMilestone }
|
||||||
| {
|
| {
|
||||||
type: 'createMilestoneProgression';
|
type: 'changeMilestoneProgression';
|
||||||
payload: CreateMilestoneProgressionSchema;
|
payload: ChangeMilestoneProgressionSchema;
|
||||||
}
|
|
||||||
| {
|
|
||||||
type: 'updateMilestoneProgression';
|
|
||||||
sourceMilestoneId: string;
|
|
||||||
payload: UpdateMilestoneProgressionSchema;
|
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: 'deleteMilestoneProgression';
|
type: 'deleteMilestoneProgression';
|
||||||
@ -201,25 +193,14 @@ export const ReleasePlan = ({
|
|||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'createMilestoneProgression':
|
case 'changeMilestoneProgression':
|
||||||
await addChange(projectId, environment, {
|
await addChange(projectId, environment, {
|
||||||
feature: featureName,
|
feature: featureName,
|
||||||
action: 'createMilestoneProgression',
|
action: 'changeMilestoneProgression',
|
||||||
payload: changeRequestAction.payload,
|
payload: changeRequestAction.payload,
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'updateMilestoneProgression':
|
|
||||||
await addChange(projectId, environment, {
|
|
||||||
feature: featureName,
|
|
||||||
action: 'updateMilestoneProgression',
|
|
||||||
payload: {
|
|
||||||
sourceMilestone: changeRequestAction.sourceMilestoneId,
|
|
||||||
...changeRequestAction.payload,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'deleteMilestoneProgression':
|
case 'deleteMilestoneProgression':
|
||||||
await addChange(projectId, environment, {
|
await addChange(projectId, environment, {
|
||||||
feature: featureName,
|
feature: featureName,
|
||||||
@ -314,18 +295,10 @@ export const ReleasePlan = ({
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleAddToChangeRequest = (
|
const handleAddToChangeRequest = (action: {
|
||||||
action:
|
type: 'changeMilestoneProgression';
|
||||||
| {
|
payload: ChangeMilestoneProgressionSchema;
|
||||||
type: 'createMilestoneProgression';
|
}) => {
|
||||||
payload: CreateMilestoneProgressionSchema;
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
type: 'updateMilestoneProgression';
|
|
||||||
sourceMilestoneId: string;
|
|
||||||
payload: UpdateMilestoneProgressionSchema;
|
|
||||||
},
|
|
||||||
) => {
|
|
||||||
setChangeRequestAction(action);
|
setChangeRequestAction(action);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import {
|
|||||||
useMilestoneProgressionForm,
|
useMilestoneProgressionForm,
|
||||||
getTimeValueAndUnitFromMinutes,
|
getTimeValueAndUnitFromMinutes,
|
||||||
} from '../hooks/useMilestoneProgressionForm.js';
|
} from '../hooks/useMilestoneProgressionForm.js';
|
||||||
import type { UpdateMilestoneProgressionSchema } from 'openapi';
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
import type { ReactNode } from 'react';
|
import type { ReactNode } from 'react';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
|
|
||||||
@ -58,8 +58,9 @@ const StyledButtonGroup = styled('div')(({ theme }) => ({
|
|||||||
|
|
||||||
interface IMilestoneTransitionDisplayProps {
|
interface IMilestoneTransitionDisplayProps {
|
||||||
intervalMinutes: number;
|
intervalMinutes: number;
|
||||||
|
targetMilestoneId: string;
|
||||||
onSave: (
|
onSave: (
|
||||||
payload: UpdateMilestoneProgressionSchema,
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
) => Promise<{ shouldReset?: boolean }>;
|
) => Promise<{ shouldReset?: boolean }>;
|
||||||
onDelete: () => void;
|
onDelete: () => void;
|
||||||
milestoneName: string;
|
milestoneName: string;
|
||||||
@ -69,6 +70,7 @@ interface IMilestoneTransitionDisplayProps {
|
|||||||
|
|
||||||
export const MilestoneTransitionDisplay = ({
|
export const MilestoneTransitionDisplay = ({
|
||||||
intervalMinutes,
|
intervalMinutes,
|
||||||
|
targetMilestoneId,
|
||||||
onSave,
|
onSave,
|
||||||
onDelete,
|
onDelete,
|
||||||
milestoneName,
|
milestoneName,
|
||||||
@ -97,7 +99,8 @@ export const MilestoneTransitionDisplay = ({
|
|||||||
const handleSave = async () => {
|
const handleSave = async () => {
|
||||||
if (!hasChanged) return;
|
if (!hasChanged) return;
|
||||||
|
|
||||||
const payload: UpdateMilestoneProgressionSchema = {
|
const payload: ChangeMilestoneProgressionSchema = {
|
||||||
|
targetMilestone: targetMilestoneId,
|
||||||
transitionCondition: {
|
transitionCondition: {
|
||||||
intervalMinutes: currentIntervalMinutes,
|
intervalMinutes: currentIntervalMinutes,
|
||||||
},
|
},
|
||||||
|
|||||||
@ -2,10 +2,7 @@ import Add from '@mui/icons-material/Add';
|
|||||||
import { Button, styled } from '@mui/material';
|
import { Button, styled } from '@mui/material';
|
||||||
import { Badge } from 'component/common/Badge/Badge';
|
import { Badge } from 'component/common/Badge/Badge';
|
||||||
import type { IReleasePlanMilestone } from 'interfaces/releasePlans';
|
import type { IReleasePlanMilestone } from 'interfaces/releasePlans';
|
||||||
import type {
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
CreateMilestoneProgressionSchema,
|
|
||||||
UpdateMilestoneProgressionSchema,
|
|
||||||
} from 'openapi';
|
|
||||||
import { MilestoneAutomationSection } from '../ReleasePlanMilestone/MilestoneAutomationSection.tsx';
|
import { MilestoneAutomationSection } from '../ReleasePlanMilestone/MilestoneAutomationSection.tsx';
|
||||||
import { MilestoneTransitionDisplay } from '../ReleasePlanMilestone/MilestoneTransitionDisplay.tsx';
|
import { MilestoneTransitionDisplay } from '../ReleasePlanMilestone/MilestoneTransitionDisplay.tsx';
|
||||||
import type { MilestoneStatus } from '../ReleasePlanMilestone/ReleasePlanMilestoneStatus.tsx';
|
import type { MilestoneStatus } from '../ReleasePlanMilestone/ReleasePlanMilestoneStatus.tsx';
|
||||||
@ -57,11 +54,8 @@ interface MilestoneAutomationProps {
|
|||||||
pendingProgressionChange: PendingProgressionChange | null;
|
pendingProgressionChange: PendingProgressionChange | null;
|
||||||
onOpenProgressionForm: () => void;
|
onOpenProgressionForm: () => void;
|
||||||
onCloseProgressionForm: () => void;
|
onCloseProgressionForm: () => void;
|
||||||
onCreateProgression: (
|
onChangeProgression: (
|
||||||
payload: CreateMilestoneProgressionSchema,
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
) => Promise<void>;
|
|
||||||
onUpdateProgression: (
|
|
||||||
payload: UpdateMilestoneProgressionSchema,
|
|
||||||
) => Promise<{ shouldReset?: boolean }>;
|
) => Promise<{ shouldReset?: boolean }>;
|
||||||
onDeleteProgression: (milestone: IReleasePlanMilestone) => void;
|
onDeleteProgression: (milestone: IReleasePlanMilestone) => void;
|
||||||
}
|
}
|
||||||
@ -78,8 +72,7 @@ export const MilestoneAutomation = ({
|
|||||||
pendingProgressionChange,
|
pendingProgressionChange,
|
||||||
onOpenProgressionForm,
|
onOpenProgressionForm,
|
||||||
onCloseProgressionForm,
|
onCloseProgressionForm,
|
||||||
onCreateProgression,
|
onChangeProgression,
|
||||||
onUpdateProgression,
|
|
||||||
onDeleteProgression,
|
onDeleteProgression,
|
||||||
}: MilestoneAutomationProps) => {
|
}: MilestoneAutomationProps) => {
|
||||||
const showAutomation =
|
const showAutomation =
|
||||||
@ -108,7 +101,7 @@ export const MilestoneAutomation = ({
|
|||||||
<MilestoneProgressionForm
|
<MilestoneProgressionForm
|
||||||
sourceMilestoneId={milestone.id}
|
sourceMilestoneId={milestone.id}
|
||||||
targetMilestoneId={nextMilestoneId}
|
targetMilestoneId={nextMilestoneId}
|
||||||
onSubmit={onCreateProgression}
|
onSubmit={onChangeProgression}
|
||||||
onCancel={onCloseProgressionForm}
|
onCancel={onCloseProgressionForm}
|
||||||
/>
|
/>
|
||||||
) : effectiveTransitionCondition ? (
|
) : effectiveTransitionCondition ? (
|
||||||
@ -116,7 +109,8 @@ export const MilestoneAutomation = ({
|
|||||||
intervalMinutes={
|
intervalMinutes={
|
||||||
effectiveTransitionCondition.intervalMinutes
|
effectiveTransitionCondition.intervalMinutes
|
||||||
}
|
}
|
||||||
onSave={onUpdateProgression}
|
targetMilestoneId={nextMilestoneId}
|
||||||
|
onSave={onChangeProgression}
|
||||||
onDelete={() => onDeleteProgression(milestone)}
|
onDelete={() => onDeleteProgression(milestone)}
|
||||||
milestoneName={milestone.name}
|
milestoneName={milestone.name}
|
||||||
status={status}
|
status={status}
|
||||||
|
|||||||
@ -1,10 +1,7 @@
|
|||||||
import { styled } from '@mui/material';
|
import { styled } from '@mui/material';
|
||||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||||
import type { IReleasePlanMilestone } from 'interfaces/releasePlans';
|
import type { IReleasePlanMilestone } from 'interfaces/releasePlans';
|
||||||
import type {
|
import type { ChangeMilestoneProgressionSchema } from 'openapi';
|
||||||
CreateMilestoneProgressionSchema,
|
|
||||||
UpdateMilestoneProgressionSchema,
|
|
||||||
} from 'openapi';
|
|
||||||
import { ReleasePlanMilestone } from '../ReleasePlanMilestone/ReleasePlanMilestone.tsx';
|
import { ReleasePlanMilestone } from '../ReleasePlanMilestone/ReleasePlanMilestone.tsx';
|
||||||
import { useMilestoneProgressionsApi } from 'hooks/api/actions/useMilestoneProgressionsApi/useMilestoneProgressionsApi';
|
import { useMilestoneProgressionsApi } from 'hooks/api/actions/useMilestoneProgressionsApi/useMilestoneProgressionsApi';
|
||||||
import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled';
|
import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled';
|
||||||
@ -44,18 +41,10 @@ export interface IReleasePlanMilestoneItemProps {
|
|||||||
onSetProgressionFormOpenIndex: (index: number | null) => void;
|
onSetProgressionFormOpenIndex: (index: number | null) => void;
|
||||||
onStartMilestone?: (milestone: IReleasePlanMilestone) => void;
|
onStartMilestone?: (milestone: IReleasePlanMilestone) => void;
|
||||||
onDeleteProgression: (milestone: IReleasePlanMilestone) => void;
|
onDeleteProgression: (milestone: IReleasePlanMilestone) => void;
|
||||||
onAddToChangeRequest: (
|
onAddToChangeRequest: (action: {
|
||||||
action:
|
type: 'changeMilestoneProgression';
|
||||||
| {
|
payload: ChangeMilestoneProgressionSchema;
|
||||||
type: 'createMilestoneProgression';
|
}) => void;
|
||||||
payload: CreateMilestoneProgressionSchema;
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
type: 'updateMilestoneProgression';
|
|
||||||
sourceMilestoneId: string;
|
|
||||||
payload: UpdateMilestoneProgressionSchema;
|
|
||||||
},
|
|
||||||
) => void;
|
|
||||||
getPendingProgressionChange: (
|
getPendingProgressionChange: (
|
||||||
sourceMilestoneId: string,
|
sourceMilestoneId: string,
|
||||||
) => PendingProgressionChange | null;
|
) => PendingProgressionChange | null;
|
||||||
@ -85,8 +74,7 @@ export const ReleasePlanMilestoneItem = ({
|
|||||||
featureName,
|
featureName,
|
||||||
onUpdate,
|
onUpdate,
|
||||||
}: IReleasePlanMilestoneItemProps) => {
|
}: IReleasePlanMilestoneItemProps) => {
|
||||||
const { createMilestoneProgression, updateMilestoneProgression } =
|
const { changeMilestoneProgression } = useMilestoneProgressionsApi();
|
||||||
useMilestoneProgressionsApi();
|
|
||||||
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
||||||
const { setToastData, setToastApiError } = useToast();
|
const { setToastData, setToastApiError } = useToast();
|
||||||
|
|
||||||
@ -98,50 +86,22 @@ export const ReleasePlanMilestoneItem = ({
|
|||||||
const handleCloseProgressionForm = () =>
|
const handleCloseProgressionForm = () =>
|
||||||
onSetProgressionFormOpenIndex(null);
|
onSetProgressionFormOpenIndex(null);
|
||||||
|
|
||||||
const handleCreateProgression = async (
|
const handleChangeProgression = async (
|
||||||
payload: CreateMilestoneProgressionSchema,
|
payload: ChangeMilestoneProgressionSchema,
|
||||||
) => {
|
|
||||||
if (isChangeRequestConfigured(environment)) {
|
|
||||||
onAddToChangeRequest({
|
|
||||||
type: 'createMilestoneProgression',
|
|
||||||
payload,
|
|
||||||
});
|
|
||||||
handleCloseProgressionForm();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
await createMilestoneProgression(
|
|
||||||
projectId,
|
|
||||||
environment,
|
|
||||||
featureName,
|
|
||||||
payload,
|
|
||||||
);
|
|
||||||
setToastData({
|
|
||||||
type: 'success',
|
|
||||||
text: 'Automation configured successfully',
|
|
||||||
});
|
|
||||||
handleCloseProgressionForm();
|
|
||||||
await onUpdate();
|
|
||||||
} catch (error: unknown) {
|
|
||||||
setToastApiError(formatUnknownError(error));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleUpdateProgression = async (
|
|
||||||
payload: UpdateMilestoneProgressionSchema,
|
|
||||||
): Promise<{ shouldReset?: boolean }> => {
|
): Promise<{ shouldReset?: boolean }> => {
|
||||||
if (isChangeRequestConfigured(environment)) {
|
if (isChangeRequestConfigured(environment)) {
|
||||||
onAddToChangeRequest({
|
onAddToChangeRequest({
|
||||||
type: 'updateMilestoneProgression',
|
type: 'changeMilestoneProgression',
|
||||||
sourceMilestoneId: milestone.id,
|
payload: {
|
||||||
payload,
|
...payload,
|
||||||
|
sourceMilestone: milestone.id,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
return { shouldReset: true };
|
return { shouldReset: true };
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await updateMilestoneProgression(
|
await changeMilestoneProgression(
|
||||||
projectId,
|
projectId,
|
||||||
environment,
|
environment,
|
||||||
featureName,
|
featureName,
|
||||||
@ -150,8 +110,9 @@ export const ReleasePlanMilestoneItem = ({
|
|||||||
);
|
);
|
||||||
setToastData({
|
setToastData({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
text: 'Automation updated successfully',
|
text: 'Automation configured successfully',
|
||||||
});
|
});
|
||||||
|
handleCloseProgressionForm();
|
||||||
await onUpdate();
|
await onUpdate();
|
||||||
return {};
|
return {};
|
||||||
} catch (error: unknown) {
|
} catch (error: unknown) {
|
||||||
@ -187,8 +148,7 @@ export const ReleasePlanMilestoneItem = ({
|
|||||||
pendingProgressionChange={pendingProgressionChange}
|
pendingProgressionChange={pendingProgressionChange}
|
||||||
onOpenProgressionForm={handleOpenProgressionForm}
|
onOpenProgressionForm={handleOpenProgressionForm}
|
||||||
onCloseProgressionForm={handleCloseProgressionForm}
|
onCloseProgressionForm={handleCloseProgressionForm}
|
||||||
onCreateProgression={handleCreateProgression}
|
onChangeProgression={handleChangeProgression}
|
||||||
onUpdateProgression={handleUpdateProgression}
|
|
||||||
onDeleteProgression={onDeleteProgression}
|
onDeleteProgression={onDeleteProgression}
|
||||||
/>
|
/>
|
||||||
) : undefined;
|
) : undefined;
|
||||||
|
|||||||
@ -22,8 +22,7 @@ export interface IChangeSchema {
|
|||||||
| 'addReleasePlan'
|
| 'addReleasePlan'
|
||||||
| 'deleteReleasePlan'
|
| 'deleteReleasePlan'
|
||||||
| 'startMilestone'
|
| 'startMilestone'
|
||||||
| 'createMilestoneProgression'
|
| 'changeMilestoneProgression'
|
||||||
| 'updateMilestoneProgression'
|
|
||||||
| 'deleteMilestoneProgression';
|
| 'deleteMilestoneProgression';
|
||||||
payload: string | boolean | object | number | undefined;
|
payload: string | boolean | object | number | undefined;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,40 +1,19 @@
|
|||||||
import useAPI from '../useApi/useApi.js';
|
import useAPI from '../useApi/useApi.js';
|
||||||
import type { CreateMilestoneProgressionSchema } from 'openapi/models/createMilestoneProgressionSchema';
|
import type { ChangeMilestoneProgressionSchema } from 'openapi/models/changeMilestoneProgressionSchema';
|
||||||
import type { UpdateMilestoneProgressionSchema } from 'openapi/models/updateMilestoneProgressionSchema';
|
|
||||||
|
|
||||||
export const useMilestoneProgressionsApi = () => {
|
export const useMilestoneProgressionsApi = () => {
|
||||||
const { makeRequest, createRequest, errors, loading } = useAPI({
|
const { makeRequest, createRequest, errors, loading } = useAPI({
|
||||||
propagateErrors: true,
|
propagateErrors: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
const createMilestoneProgression = async (
|
const changeMilestoneProgression = async (
|
||||||
projectId: string,
|
|
||||||
environment: string,
|
|
||||||
featureName: string,
|
|
||||||
body: CreateMilestoneProgressionSchema,
|
|
||||||
): Promise<void> => {
|
|
||||||
const requestId = 'createMilestoneProgression';
|
|
||||||
const path = `api/admin/projects/${projectId}/features/${featureName}/environments/${environment}/progressions`;
|
|
||||||
const req = createRequest(
|
|
||||||
path,
|
|
||||||
{
|
|
||||||
method: 'POST',
|
|
||||||
body: JSON.stringify(body),
|
|
||||||
},
|
|
||||||
requestId,
|
|
||||||
);
|
|
||||||
|
|
||||||
await makeRequest(req.caller, req.id);
|
|
||||||
};
|
|
||||||
|
|
||||||
const updateMilestoneProgression = async (
|
|
||||||
projectId: string,
|
projectId: string,
|
||||||
environment: string,
|
environment: string,
|
||||||
featureName: string,
|
featureName: string,
|
||||||
sourceMilestoneId: string,
|
sourceMilestoneId: string,
|
||||||
body: UpdateMilestoneProgressionSchema,
|
body: ChangeMilestoneProgressionSchema,
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
const requestId = 'updateMilestoneProgression';
|
const requestId = 'changeMilestoneProgression';
|
||||||
const path = `api/admin/projects/${projectId}/features/${featureName}/environments/${environment}/progressions/${sourceMilestoneId}`;
|
const path = `api/admin/projects/${projectId}/features/${featureName}/environments/${environment}/progressions/${sourceMilestoneId}`;
|
||||||
const req = createRequest(
|
const req = createRequest(
|
||||||
path,
|
path,
|
||||||
@ -68,8 +47,7 @@ export const useMilestoneProgressionsApi = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
createMilestoneProgression,
|
changeMilestoneProgression,
|
||||||
updateMilestoneProgression,
|
|
||||||
deleteMilestoneProgression,
|
deleteMilestoneProgression,
|
||||||
errors,
|
errors,
|
||||||
loading,
|
loading,
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type CreateMilestoneProgression403 = {
|
export type ChangeMilestoneProgression401 = {
|
||||||
/** The ID of the error instance */
|
/** The ID of the error instance */
|
||||||
id?: string;
|
id?: string;
|
||||||
/** A description of what went wrong. */
|
/** A description of what went wrong. */
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type CreateMilestoneProgression401 = {
|
export type ChangeMilestoneProgression403 = {
|
||||||
/** The ID of the error instance */
|
/** The ID of the error instance */
|
||||||
id?: string;
|
id?: string;
|
||||||
/** A description of what went wrong. */
|
/** A description of what went wrong. */
|
||||||
@ -5,9 +5,13 @@
|
|||||||
*/
|
*/
|
||||||
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
||||||
|
|
||||||
export type ChangeRequestOneOrManyCreateSchemaOneOfThreesevenPayload = {
|
/**
|
||||||
/** The ID of the source milestone with progression to update. */
|
* Request body to create or update a milestone progression
|
||||||
sourceMilestone: string;
|
*/
|
||||||
|
export interface ChangeMilestoneProgressionSchema {
|
||||||
|
/** The ID of the target milestone */
|
||||||
|
targetMilestone: string;
|
||||||
/** The condition configuration for the transition */
|
/** The condition configuration for the transition */
|
||||||
transitionCondition: TransitionConditionSchema;
|
transitionCondition: TransitionConditionSchema;
|
||||||
};
|
[key: string]: unknown;
|
||||||
|
}
|
||||||
@ -16,8 +16,7 @@ import type { ChangeRequestCreateFeatureSchemaOneOfTwotwo } from './changeReques
|
|||||||
import type { ChangeRequestCreateFeatureSchemaOneOfTwofour } from './changeRequestCreateFeatureSchemaOneOfTwofour.js';
|
import type { ChangeRequestCreateFeatureSchemaOneOfTwofour } from './changeRequestCreateFeatureSchemaOneOfTwofour.js';
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfTwoseven } from './changeRequestCreateFeatureSchemaOneOfTwoseven.js';
|
import type { ChangeRequestCreateFeatureSchemaOneOfTwoseven } from './changeRequestCreateFeatureSchemaOneOfTwoseven.js';
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreezero } from './changeRequestCreateFeatureSchemaOneOfThreezero.js';
|
import type { ChangeRequestCreateFeatureSchemaOneOfThreezero } from './changeRequestCreateFeatureSchemaOneOfThreezero.js';
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreetwo } from './changeRequestCreateFeatureSchemaOneOfThreetwo.js';
|
import type { ChangeRequestCreateFeatureSchemaOneOfThreethree } from './changeRequestCreateFeatureSchemaOneOfThreethree.js';
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreefive } from './changeRequestCreateFeatureSchemaOneOfThreefive.js';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data used to create a [change request](https://docs.getunleash.io/reference/change-requests) for a single feature change.
|
* Data used to create a [change request](https://docs.getunleash.io/reference/change-requests) for a single feature change.
|
||||||
@ -36,5 +35,4 @@ export type ChangeRequestCreateFeatureSchema =
|
|||||||
| ChangeRequestCreateFeatureSchemaOneOfTwofour
|
| ChangeRequestCreateFeatureSchemaOneOfTwofour
|
||||||
| ChangeRequestCreateFeatureSchemaOneOfTwoseven
|
| ChangeRequestCreateFeatureSchemaOneOfTwoseven
|
||||||
| ChangeRequestCreateFeatureSchemaOneOfThreezero
|
| ChangeRequestCreateFeatureSchemaOneOfThreezero
|
||||||
| ChangeRequestCreateFeatureSchemaOneOfThreetwo
|
| ChangeRequestCreateFeatureSchemaOneOfThreethree;
|
||||||
| ChangeRequestCreateFeatureSchemaOneOfThreefive;
|
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreefiveAction } from './changeRequestCreateFeatureSchemaOneOfThreefiveAction.js';
|
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreefivePayload } from './changeRequestCreateFeatureSchemaOneOfThreefivePayload.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete milestone progression.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestCreateFeatureSchemaOneOfThreefive = {
|
|
||||||
/** The name of this action. */
|
|
||||||
action: ChangeRequestCreateFeatureSchemaOneOfThreefiveAction;
|
|
||||||
/** The name of the feature that this change applies to. */
|
|
||||||
feature: string;
|
|
||||||
payload: ChangeRequestCreateFeatureSchemaOneOfThreefivePayload;
|
|
||||||
};
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of this action.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestCreateFeatureSchemaOneOfThreefiveAction =
|
|
||||||
(typeof ChangeRequestCreateFeatureSchemaOneOfThreefiveAction)[keyof typeof ChangeRequestCreateFeatureSchemaOneOfThreefiveAction];
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
||||||
export const ChangeRequestCreateFeatureSchemaOneOfThreefiveAction = {
|
|
||||||
deleteMilestoneProgression: 'deleteMilestoneProgression',
|
|
||||||
} as const;
|
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* Generated by Orval
|
||||||
|
* Do not edit manually.
|
||||||
|
* See `gen:api` script in package.json
|
||||||
|
*/
|
||||||
|
import type { ChangeRequestCreateFeatureSchemaOneOfThreethreeAction } from './changeRequestCreateFeatureSchemaOneOfThreethreeAction.js';
|
||||||
|
import type { ChangeRequestCreateFeatureSchemaOneOfThreethreePayload } from './changeRequestCreateFeatureSchemaOneOfThreethreePayload.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete milestone progression.
|
||||||
|
*/
|
||||||
|
export type ChangeRequestCreateFeatureSchemaOneOfThreethree = {
|
||||||
|
/** The name of this action. */
|
||||||
|
action: ChangeRequestCreateFeatureSchemaOneOfThreethreeAction;
|
||||||
|
/** The name of the feature that this change applies to. */
|
||||||
|
feature: string;
|
||||||
|
payload: ChangeRequestCreateFeatureSchemaOneOfThreethreePayload;
|
||||||
|
};
|
||||||
@ -7,10 +7,10 @@
|
|||||||
/**
|
/**
|
||||||
* The name of this action.
|
* The name of this action.
|
||||||
*/
|
*/
|
||||||
export type ChangeRequestOneOrManyCreateSchemaOneOfFourzeroAction =
|
export type ChangeRequestCreateFeatureSchemaOneOfThreethreeAction =
|
||||||
(typeof ChangeRequestOneOrManyCreateSchemaOneOfFourzeroAction)[keyof typeof ChangeRequestOneOrManyCreateSchemaOneOfFourzeroAction];
|
(typeof ChangeRequestCreateFeatureSchemaOneOfThreethreeAction)[keyof typeof ChangeRequestCreateFeatureSchemaOneOfThreethreeAction];
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||||
export const ChangeRequestOneOrManyCreateSchemaOneOfFourzeroAction = {
|
export const ChangeRequestCreateFeatureSchemaOneOfThreethreeAction = {
|
||||||
deleteMilestoneProgression: 'deleteMilestoneProgression',
|
deleteMilestoneProgression: 'deleteMilestoneProgression',
|
||||||
} as const;
|
} as const;
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type ChangeRequestOneOrManyCreateSchemaOneOfFourzeroPayload = {
|
export type ChangeRequestCreateFeatureSchemaOneOfThreethreePayload = {
|
||||||
/** The ID of the source milestone with progression to delete. */
|
/** The ID of the source milestone with progression to delete. */
|
||||||
sourceMilestone: string;
|
sourceMilestone: string;
|
||||||
};
|
};
|
||||||
@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreetwoAction } from './changeRequestCreateFeatureSchemaOneOfThreetwoAction.js';
|
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreetwoPayload } from './changeRequestCreateFeatureSchemaOneOfThreetwoPayload.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update milestone progression transition condition.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestCreateFeatureSchemaOneOfThreetwo = {
|
|
||||||
/** The name of this action. */
|
|
||||||
action: ChangeRequestCreateFeatureSchemaOneOfThreetwoAction;
|
|
||||||
/** The name of the feature that this change applies to. */
|
|
||||||
feature: string;
|
|
||||||
payload: ChangeRequestCreateFeatureSchemaOneOfThreetwoPayload;
|
|
||||||
};
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of this action.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestCreateFeatureSchemaOneOfThreetwoAction =
|
|
||||||
(typeof ChangeRequestCreateFeatureSchemaOneOfThreetwoAction)[keyof typeof ChangeRequestCreateFeatureSchemaOneOfThreetwoAction];
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
||||||
export const ChangeRequestCreateFeatureSchemaOneOfThreetwoAction = {
|
|
||||||
updateMilestoneProgression: 'updateMilestoneProgression',
|
|
||||||
} as const;
|
|
||||||
@ -4,15 +4,15 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
import type { ChangeRequestCreateFeatureSchemaOneOfThreezeroAction } from './changeRequestCreateFeatureSchemaOneOfThreezeroAction.js';
|
import type { ChangeRequestCreateFeatureSchemaOneOfThreezeroAction } from './changeRequestCreateFeatureSchemaOneOfThreezeroAction.js';
|
||||||
import type { CreateMilestoneProgressionSchema } from './createMilestoneProgressionSchema.js';
|
import type { ChangeRequestCreateFeatureSchemaOneOfThreezeroPayload } from './changeRequestCreateFeatureSchemaOneOfThreezeroPayload.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create milestone progression from one milestone to another.
|
* Create or update milestone progression from one milestone to another.
|
||||||
*/
|
*/
|
||||||
export type ChangeRequestCreateFeatureSchemaOneOfThreezero = {
|
export type ChangeRequestCreateFeatureSchemaOneOfThreezero = {
|
||||||
/** The name of this action. */
|
/** The name of this action. */
|
||||||
action: ChangeRequestCreateFeatureSchemaOneOfThreezeroAction;
|
action: ChangeRequestCreateFeatureSchemaOneOfThreezeroAction;
|
||||||
/** The name of the feature that this change applies to. */
|
/** The name of the feature that this change applies to. */
|
||||||
feature: string;
|
feature: string;
|
||||||
payload: CreateMilestoneProgressionSchema;
|
payload: ChangeRequestCreateFeatureSchemaOneOfThreezeroPayload;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -12,5 +12,5 @@ export type ChangeRequestCreateFeatureSchemaOneOfThreezeroAction =
|
|||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||||
export const ChangeRequestCreateFeatureSchemaOneOfThreezeroAction = {
|
export const ChangeRequestCreateFeatureSchemaOneOfThreezeroAction = {
|
||||||
createMilestoneProgression: 'createMilestoneProgression',
|
changeMilestoneProgression: 'changeMilestoneProgression',
|
||||||
} as const;
|
} as const;
|
||||||
|
|||||||
@ -5,14 +5,11 @@
|
|||||||
*/
|
*/
|
||||||
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
||||||
|
|
||||||
/**
|
export type ChangeRequestCreateFeatureSchemaOneOfThreezeroPayload = {
|
||||||
* Request body to create a milestone progression
|
|
||||||
*/
|
|
||||||
export interface CreateMilestoneProgressionSchema {
|
|
||||||
/** The ID of the source milestone */
|
/** The ID of the source milestone */
|
||||||
sourceMilestone: string;
|
sourceMilestone: string;
|
||||||
/** The ID of the target milestone */
|
/** The ID of the target milestone */
|
||||||
targetMilestone: string;
|
targetMilestone: string;
|
||||||
/** The condition configuration for the transition */
|
/** The condition configuration for the transition */
|
||||||
transitionCondition: TransitionConditionSchema;
|
transitionCondition: TransitionConditionSchema;
|
||||||
}
|
};
|
||||||
@ -18,8 +18,7 @@ import type { ChangeRequestCreateSchemaOneOfTwoseven } from './changeRequestCrea
|
|||||||
import type { ChangeRequestCreateSchemaOneOfTwonine } from './changeRequestCreateSchemaOneOfTwonine.js';
|
import type { ChangeRequestCreateSchemaOneOfTwonine } from './changeRequestCreateSchemaOneOfTwonine.js';
|
||||||
import type { ChangeRequestCreateSchemaOneOfThreetwo } from './changeRequestCreateSchemaOneOfThreetwo.js';
|
import type { ChangeRequestCreateSchemaOneOfThreetwo } from './changeRequestCreateSchemaOneOfThreetwo.js';
|
||||||
import type { ChangeRequestCreateSchemaOneOfThreefive } from './changeRequestCreateSchemaOneOfThreefive.js';
|
import type { ChangeRequestCreateSchemaOneOfThreefive } from './changeRequestCreateSchemaOneOfThreefive.js';
|
||||||
import type { ChangeRequestCreateSchemaOneOfThreeseven } from './changeRequestCreateSchemaOneOfThreeseven.js';
|
import type { ChangeRequestCreateSchemaOneOfThreeeight } from './changeRequestCreateSchemaOneOfThreeeight.js';
|
||||||
import type { ChangeRequestCreateSchemaOneOfFourzero } from './changeRequestCreateSchemaOneOfFourzero.js';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data used to create a [change request](https://docs.getunleash.io/reference/change-requests) for a single feature or segment change.
|
* Data used to create a [change request](https://docs.getunleash.io/reference/change-requests) for a single feature or segment change.
|
||||||
@ -40,5 +39,4 @@ export type ChangeRequestCreateSchema =
|
|||||||
| ChangeRequestCreateSchemaOneOfTwonine
|
| ChangeRequestCreateSchemaOneOfTwonine
|
||||||
| ChangeRequestCreateSchemaOneOfThreetwo
|
| ChangeRequestCreateSchemaOneOfThreetwo
|
||||||
| ChangeRequestCreateSchemaOneOfThreefive
|
| ChangeRequestCreateSchemaOneOfThreefive
|
||||||
| ChangeRequestCreateSchemaOneOfThreeseven
|
| ChangeRequestCreateSchemaOneOfThreeeight;
|
||||||
| ChangeRequestCreateSchemaOneOfFourzero;
|
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
import type { ChangeRequestCreateSchemaOneOfFourzeroAction } from './changeRequestCreateSchemaOneOfFourzeroAction.js';
|
|
||||||
import type { ChangeRequestCreateSchemaOneOfFourzeroPayload } from './changeRequestCreateSchemaOneOfFourzeroPayload.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete milestone progression.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestCreateSchemaOneOfFourzero = {
|
|
||||||
/** The name of this action. */
|
|
||||||
action: ChangeRequestCreateSchemaOneOfFourzeroAction;
|
|
||||||
/** The name of the feature that this change applies to. */
|
|
||||||
feature: string;
|
|
||||||
payload: ChangeRequestCreateSchemaOneOfFourzeroPayload;
|
|
||||||
};
|
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* Generated by Orval
|
||||||
|
* Do not edit manually.
|
||||||
|
* See `gen:api` script in package.json
|
||||||
|
*/
|
||||||
|
import type { ChangeRequestCreateSchemaOneOfThreeeightAction } from './changeRequestCreateSchemaOneOfThreeeightAction.js';
|
||||||
|
import type { ChangeRequestCreateSchemaOneOfThreeeightPayload } from './changeRequestCreateSchemaOneOfThreeeightPayload.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete milestone progression.
|
||||||
|
*/
|
||||||
|
export type ChangeRequestCreateSchemaOneOfThreeeight = {
|
||||||
|
/** The name of this action. */
|
||||||
|
action: ChangeRequestCreateSchemaOneOfThreeeightAction;
|
||||||
|
/** The name of the feature that this change applies to. */
|
||||||
|
feature: string;
|
||||||
|
payload: ChangeRequestCreateSchemaOneOfThreeeightPayload;
|
||||||
|
};
|
||||||
@ -7,10 +7,10 @@
|
|||||||
/**
|
/**
|
||||||
* The name of this action.
|
* The name of this action.
|
||||||
*/
|
*/
|
||||||
export type ChangeRequestCreateSchemaOneOfFourzeroAction =
|
export type ChangeRequestCreateSchemaOneOfThreeeightAction =
|
||||||
(typeof ChangeRequestCreateSchemaOneOfFourzeroAction)[keyof typeof ChangeRequestCreateSchemaOneOfFourzeroAction];
|
(typeof ChangeRequestCreateSchemaOneOfThreeeightAction)[keyof typeof ChangeRequestCreateSchemaOneOfThreeeightAction];
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||||
export const ChangeRequestCreateSchemaOneOfFourzeroAction = {
|
export const ChangeRequestCreateSchemaOneOfThreeeightAction = {
|
||||||
deleteMilestoneProgression: 'deleteMilestoneProgression',
|
deleteMilestoneProgression: 'deleteMilestoneProgression',
|
||||||
} as const;
|
} as const;
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type ChangeRequestCreateSchemaOneOfFourzeroPayload = {
|
export type ChangeRequestCreateSchemaOneOfThreeeightPayload = {
|
||||||
/** The ID of the source milestone with progression to delete. */
|
/** The ID of the source milestone with progression to delete. */
|
||||||
sourceMilestone: string;
|
sourceMilestone: string;
|
||||||
};
|
};
|
||||||
@ -4,15 +4,15 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
import type { ChangeRequestCreateSchemaOneOfThreefiveAction } from './changeRequestCreateSchemaOneOfThreefiveAction.js';
|
import type { ChangeRequestCreateSchemaOneOfThreefiveAction } from './changeRequestCreateSchemaOneOfThreefiveAction.js';
|
||||||
import type { CreateMilestoneProgressionSchema } from './createMilestoneProgressionSchema.js';
|
import type { ChangeRequestCreateSchemaOneOfThreefivePayload } from './changeRequestCreateSchemaOneOfThreefivePayload.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create milestone progression from one milestone to another.
|
* Create or update milestone progression from one milestone to another.
|
||||||
*/
|
*/
|
||||||
export type ChangeRequestCreateSchemaOneOfThreefive = {
|
export type ChangeRequestCreateSchemaOneOfThreefive = {
|
||||||
/** The name of this action. */
|
/** The name of this action. */
|
||||||
action: ChangeRequestCreateSchemaOneOfThreefiveAction;
|
action: ChangeRequestCreateSchemaOneOfThreefiveAction;
|
||||||
/** The name of the feature that this change applies to. */
|
/** The name of the feature that this change applies to. */
|
||||||
feature: string;
|
feature: string;
|
||||||
payload: CreateMilestoneProgressionSchema;
|
payload: ChangeRequestCreateSchemaOneOfThreefivePayload;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -12,5 +12,5 @@ export type ChangeRequestCreateSchemaOneOfThreefiveAction =
|
|||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||||
export const ChangeRequestCreateSchemaOneOfThreefiveAction = {
|
export const ChangeRequestCreateSchemaOneOfThreefiveAction = {
|
||||||
createMilestoneProgression: 'createMilestoneProgression',
|
changeMilestoneProgression: 'changeMilestoneProgression',
|
||||||
} as const;
|
} as const;
|
||||||
|
|||||||
@ -5,9 +5,11 @@
|
|||||||
*/
|
*/
|
||||||
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
||||||
|
|
||||||
export type ChangeRequestCreateFeatureSchemaOneOfThreetwoPayload = {
|
export type ChangeRequestCreateSchemaOneOfThreefivePayload = {
|
||||||
/** The ID of the source milestone with progression to update. */
|
/** The ID of the source milestone */
|
||||||
sourceMilestone: string;
|
sourceMilestone: string;
|
||||||
|
/** The ID of the target milestone */
|
||||||
|
targetMilestone: string;
|
||||||
/** The condition configuration for the transition */
|
/** The condition configuration for the transition */
|
||||||
transitionCondition: TransitionConditionSchema;
|
transitionCondition: TransitionConditionSchema;
|
||||||
};
|
};
|
||||||
@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
import type { ChangeRequestCreateSchemaOneOfThreesevenAction } from './changeRequestCreateSchemaOneOfThreesevenAction.js';
|
|
||||||
import type { ChangeRequestCreateSchemaOneOfThreesevenPayload } from './changeRequestCreateSchemaOneOfThreesevenPayload.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update milestone progression transition condition.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestCreateSchemaOneOfThreeseven = {
|
|
||||||
/** The name of this action. */
|
|
||||||
action: ChangeRequestCreateSchemaOneOfThreesevenAction;
|
|
||||||
/** The name of the feature that this change applies to. */
|
|
||||||
feature: string;
|
|
||||||
payload: ChangeRequestCreateSchemaOneOfThreesevenPayload;
|
|
||||||
};
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of this action.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestCreateSchemaOneOfThreesevenAction =
|
|
||||||
(typeof ChangeRequestCreateSchemaOneOfThreesevenAction)[keyof typeof ChangeRequestCreateSchemaOneOfThreesevenAction];
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
||||||
export const ChangeRequestCreateSchemaOneOfThreesevenAction = {
|
|
||||||
updateMilestoneProgression: 'updateMilestoneProgression',
|
|
||||||
} as const;
|
|
||||||
@ -18,8 +18,7 @@ import type { ChangeRequestOneOrManyCreateSchemaOneOfTwoseven } from './changeRe
|
|||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfTwonine } from './changeRequestOneOrManyCreateSchemaOneOfTwonine.js';
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfTwonine } from './changeRequestOneOrManyCreateSchemaOneOfTwonine.js';
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreetwo } from './changeRequestOneOrManyCreateSchemaOneOfThreetwo.js';
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreetwo } from './changeRequestOneOrManyCreateSchemaOneOfThreetwo.js';
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreefive } from './changeRequestOneOrManyCreateSchemaOneOfThreefive.js';
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreefive } from './changeRequestOneOrManyCreateSchemaOneOfThreefive.js';
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreeseven } from './changeRequestOneOrManyCreateSchemaOneOfThreeseven.js';
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreeeight } from './changeRequestOneOrManyCreateSchemaOneOfThreeeight.js';
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfFourzero } from './changeRequestOneOrManyCreateSchemaOneOfFourzero.js';
|
|
||||||
import type { ChangeRequestCreateSchema } from './changeRequestCreateSchema.js';
|
import type { ChangeRequestCreateSchema } from './changeRequestCreateSchema.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,6 +40,5 @@ export type ChangeRequestOneOrManyCreateSchema =
|
|||||||
| ChangeRequestOneOrManyCreateSchemaOneOfTwonine
|
| ChangeRequestOneOrManyCreateSchemaOneOfTwonine
|
||||||
| ChangeRequestOneOrManyCreateSchemaOneOfThreetwo
|
| ChangeRequestOneOrManyCreateSchemaOneOfThreetwo
|
||||||
| ChangeRequestOneOrManyCreateSchemaOneOfThreefive
|
| ChangeRequestOneOrManyCreateSchemaOneOfThreefive
|
||||||
| ChangeRequestOneOrManyCreateSchemaOneOfThreeseven
|
| ChangeRequestOneOrManyCreateSchemaOneOfThreeeight
|
||||||
| ChangeRequestOneOrManyCreateSchemaOneOfFourzero
|
|
||||||
| ChangeRequestCreateSchema[];
|
| ChangeRequestCreateSchema[];
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfFourzeroAction } from './changeRequestOneOrManyCreateSchemaOneOfFourzeroAction.js';
|
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfFourzeroPayload } from './changeRequestOneOrManyCreateSchemaOneOfFourzeroPayload.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete milestone progression.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestOneOrManyCreateSchemaOneOfFourzero = {
|
|
||||||
/** The name of this action. */
|
|
||||||
action: ChangeRequestOneOrManyCreateSchemaOneOfFourzeroAction;
|
|
||||||
/** The name of the feature that this change applies to. */
|
|
||||||
feature: string;
|
|
||||||
payload: ChangeRequestOneOrManyCreateSchemaOneOfFourzeroPayload;
|
|
||||||
};
|
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* Generated by Orval
|
||||||
|
* Do not edit manually.
|
||||||
|
* See `gen:api` script in package.json
|
||||||
|
*/
|
||||||
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreeeightAction } from './changeRequestOneOrManyCreateSchemaOneOfThreeeightAction.js';
|
||||||
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreeeightPayload } from './changeRequestOneOrManyCreateSchemaOneOfThreeeightPayload.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete milestone progression.
|
||||||
|
*/
|
||||||
|
export type ChangeRequestOneOrManyCreateSchemaOneOfThreeeight = {
|
||||||
|
/** The name of this action. */
|
||||||
|
action: ChangeRequestOneOrManyCreateSchemaOneOfThreeeightAction;
|
||||||
|
/** The name of the feature that this change applies to. */
|
||||||
|
feature: string;
|
||||||
|
payload: ChangeRequestOneOrManyCreateSchemaOneOfThreeeightPayload;
|
||||||
|
};
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
* Generated by Orval
|
||||||
|
* Do not edit manually.
|
||||||
|
* See `gen:api` script in package.json
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The name of this action.
|
||||||
|
*/
|
||||||
|
export type ChangeRequestOneOrManyCreateSchemaOneOfThreeeightAction =
|
||||||
|
(typeof ChangeRequestOneOrManyCreateSchemaOneOfThreeeightAction)[keyof typeof ChangeRequestOneOrManyCreateSchemaOneOfThreeeightAction];
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||||
|
export const ChangeRequestOneOrManyCreateSchemaOneOfThreeeightAction = {
|
||||||
|
deleteMilestoneProgression: 'deleteMilestoneProgression',
|
||||||
|
} as const;
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type ChangeRequestCreateFeatureSchemaOneOfThreefivePayload = {
|
export type ChangeRequestOneOrManyCreateSchemaOneOfThreeeightPayload = {
|
||||||
/** The ID of the source milestone with progression to delete. */
|
/** The ID of the source milestone with progression to delete. */
|
||||||
sourceMilestone: string;
|
sourceMilestone: string;
|
||||||
};
|
};
|
||||||
@ -4,15 +4,15 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreefiveAction } from './changeRequestOneOrManyCreateSchemaOneOfThreefiveAction.js';
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreefiveAction } from './changeRequestOneOrManyCreateSchemaOneOfThreefiveAction.js';
|
||||||
import type { CreateMilestoneProgressionSchema } from './createMilestoneProgressionSchema.js';
|
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreefivePayload } from './changeRequestOneOrManyCreateSchemaOneOfThreefivePayload.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create milestone progression from one milestone to another.
|
* Create or update milestone progression from one milestone to another.
|
||||||
*/
|
*/
|
||||||
export type ChangeRequestOneOrManyCreateSchemaOneOfThreefive = {
|
export type ChangeRequestOneOrManyCreateSchemaOneOfThreefive = {
|
||||||
/** The name of this action. */
|
/** The name of this action. */
|
||||||
action: ChangeRequestOneOrManyCreateSchemaOneOfThreefiveAction;
|
action: ChangeRequestOneOrManyCreateSchemaOneOfThreefiveAction;
|
||||||
/** The name of the feature that this change applies to. */
|
/** The name of the feature that this change applies to. */
|
||||||
feature: string;
|
feature: string;
|
||||||
payload: CreateMilestoneProgressionSchema;
|
payload: ChangeRequestOneOrManyCreateSchemaOneOfThreefivePayload;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -12,5 +12,5 @@ export type ChangeRequestOneOrManyCreateSchemaOneOfThreefiveAction =
|
|||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||||
export const ChangeRequestOneOrManyCreateSchemaOneOfThreefiveAction = {
|
export const ChangeRequestOneOrManyCreateSchemaOneOfThreefiveAction = {
|
||||||
createMilestoneProgression: 'createMilestoneProgression',
|
changeMilestoneProgression: 'changeMilestoneProgression',
|
||||||
} as const;
|
} as const;
|
||||||
|
|||||||
@ -5,9 +5,11 @@
|
|||||||
*/
|
*/
|
||||||
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
||||||
|
|
||||||
export type ChangeRequestCreateSchemaOneOfThreesevenPayload = {
|
export type ChangeRequestOneOrManyCreateSchemaOneOfThreefivePayload = {
|
||||||
/** The ID of the source milestone with progression to update. */
|
/** The ID of the source milestone */
|
||||||
sourceMilestone: string;
|
sourceMilestone: string;
|
||||||
|
/** The ID of the target milestone */
|
||||||
|
targetMilestone: string;
|
||||||
/** The condition configuration for the transition */
|
/** The condition configuration for the transition */
|
||||||
transitionCondition: TransitionConditionSchema;
|
transitionCondition: TransitionConditionSchema;
|
||||||
};
|
};
|
||||||
@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreesevenAction } from './changeRequestOneOrManyCreateSchemaOneOfThreesevenAction.js';
|
|
||||||
import type { ChangeRequestOneOrManyCreateSchemaOneOfThreesevenPayload } from './changeRequestOneOrManyCreateSchemaOneOfThreesevenPayload.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update milestone progression transition condition.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestOneOrManyCreateSchemaOneOfThreeseven = {
|
|
||||||
/** The name of this action. */
|
|
||||||
action: ChangeRequestOneOrManyCreateSchemaOneOfThreesevenAction;
|
|
||||||
/** The name of the feature that this change applies to. */
|
|
||||||
feature: string;
|
|
||||||
payload: ChangeRequestOneOrManyCreateSchemaOneOfThreesevenPayload;
|
|
||||||
};
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of this action.
|
|
||||||
*/
|
|
||||||
export type ChangeRequestOneOrManyCreateSchemaOneOfThreesevenAction =
|
|
||||||
(typeof ChangeRequestOneOrManyCreateSchemaOneOfThreesevenAction)[keyof typeof ChangeRequestOneOrManyCreateSchemaOneOfThreesevenAction];
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
||||||
export const ChangeRequestOneOrManyCreateSchemaOneOfThreesevenAction = {
|
|
||||||
updateMilestoneProgression: 'updateMilestoneProgression',
|
|
||||||
} as const;
|
|
||||||
@ -22,7 +22,7 @@ export interface DetailedInvoicesLineSchema {
|
|||||||
/** Optional start date for the metered period */
|
/** Optional start date for the metered period */
|
||||||
startDate?: string;
|
startDate?: string;
|
||||||
/** Total amount for this line item in minor currency units */
|
/** Total amount for this line item in minor currency units */
|
||||||
totalAmount: number;
|
totalAmount?: number;
|
||||||
/** Unit price for usage line items */
|
/** Unit price for the line item */
|
||||||
unitPrice?: number;
|
unitPrice?: number;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,7 @@ export type DetailedInvoicesSchemaInvoicesItem = {
|
|||||||
/** Tax amount for the invoice */
|
/** Tax amount for the invoice */
|
||||||
taxAmount: number;
|
taxAmount: number;
|
||||||
/** Tax percentage for the invoice */
|
/** Tax percentage for the invoice */
|
||||||
taxPercentage?: number;
|
taxPercentage: number;
|
||||||
/** Total amount for the invoice */
|
/** Total amount for the invoice */
|
||||||
totalAmount: number;
|
totalAmount: number;
|
||||||
/** Usage line items (traffic, consumption usage, overages) */
|
/** Usage line items (traffic, consumption usage, overages) */
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type UpdateMilestoneProgression401 = {
|
export type EdgeInstanceHeartbeat400 = {
|
||||||
/** The ID of the error instance */
|
/** The ID of the error instance */
|
||||||
id?: string;
|
id?: string;
|
||||||
/** A description of what went wrong. */
|
/** A description of what went wrong. */
|
||||||
14
frontend/src/openapi/models/edgeLicenseStateSchema.ts
Normal file
14
frontend/src/openapi/models/edgeLicenseStateSchema.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
/**
|
||||||
|
* Generated by Orval
|
||||||
|
* Do not edit manually.
|
||||||
|
* See `gen:api` script in package.json
|
||||||
|
*/
|
||||||
|
import type { EdgeLicenseStateSchemaEdgeLicenseState } from './edgeLicenseStateSchemaEdgeLicenseState.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A model representing the Edge license state response.
|
||||||
|
*/
|
||||||
|
export interface EdgeLicenseStateSchema {
|
||||||
|
/** State of the current Enterprise Edge license */
|
||||||
|
edgeLicenseState: EdgeLicenseStateSchemaEdgeLicenseState;
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* Generated by Orval
|
||||||
|
* Do not edit manually.
|
||||||
|
* See `gen:api` script in package.json
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* State of the current Enterprise Edge license
|
||||||
|
*/
|
||||||
|
export type EdgeLicenseStateSchemaEdgeLicenseState =
|
||||||
|
(typeof EdgeLicenseStateSchemaEdgeLicenseState)[keyof typeof EdgeLicenseStateSchemaEdgeLicenseState];
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||||
|
export const EdgeLicenseStateSchemaEdgeLicenseState = {
|
||||||
|
Valid: 'Valid',
|
||||||
|
Invalid: 'Invalid',
|
||||||
|
Expired: 'Expired',
|
||||||
|
} as const;
|
||||||
@ -173,6 +173,7 @@ export const EventSchemaType = {
|
|||||||
'milestone-progression-created': 'milestone-progression-created',
|
'milestone-progression-created': 'milestone-progression-created',
|
||||||
'milestone-progression-updated': 'milestone-progression-updated',
|
'milestone-progression-updated': 'milestone-progression-updated',
|
||||||
'milestone-progression-deleted': 'milestone-progression-deleted',
|
'milestone-progression-deleted': 'milestone-progression-deleted',
|
||||||
|
'milestone-progression-changed': 'milestone-progression-changed',
|
||||||
'user-preference-updated': 'user-preference-updated',
|
'user-preference-updated': 'user-preference-updated',
|
||||||
'scim-users-deleted': 'scim-users-deleted',
|
'scim-users-deleted': 'scim-users-deleted',
|
||||||
'scim-groups-deleted': 'scim-groups-deleted',
|
'scim-groups-deleted': 'scim-groups-deleted',
|
||||||
|
|||||||
@ -141,6 +141,9 @@ export * from './bulkToggleFeaturesEnvironmentOn415.js';
|
|||||||
export * from './bulkToggleFeaturesSchema.js';
|
export * from './bulkToggleFeaturesSchema.js';
|
||||||
export * from './cdnApiTokenSchema.js';
|
export * from './cdnApiTokenSchema.js';
|
||||||
export * from './cdnApiTokensSchema.js';
|
export * from './cdnApiTokensSchema.js';
|
||||||
|
export * from './changeMilestoneProgression401.js';
|
||||||
|
export * from './changeMilestoneProgression403.js';
|
||||||
|
export * from './changeMilestoneProgressionSchema.js';
|
||||||
export * from './changePassword401.js';
|
export * from './changePassword401.js';
|
||||||
export * from './changePassword403.js';
|
export * from './changePassword403.js';
|
||||||
export * from './changePassword415.js';
|
export * from './changePassword415.js';
|
||||||
@ -185,14 +188,12 @@ export * from './changeRequestCreateFeatureSchemaOneOfOnethreePayload.js';
|
|||||||
export * from './changeRequestCreateFeatureSchemaOneOfPayload.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfPayload.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfSix.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfSix.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfSixAction.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfSixAction.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreefive.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfThreethree.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreefiveAction.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfThreethreeAction.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreefivePayload.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfThreethreePayload.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreetwo.js';
|
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreetwoAction.js';
|
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreetwoPayload.js';
|
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreezero.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfThreezero.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfThreezeroAction.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfThreezeroAction.js';
|
||||||
|
export * from './changeRequestCreateFeatureSchemaOneOfThreezeroPayload.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfTwofour.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfTwofour.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfTwofourAction.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfTwofourAction.js';
|
||||||
export * from './changeRequestCreateFeatureSchemaOneOfTwofourPayload.js';
|
export * from './changeRequestCreateFeatureSchemaOneOfTwofourPayload.js';
|
||||||
@ -206,9 +207,6 @@ export * from './changeRequestCreateFeatureSchemaOneOfTwozeroAction.js';
|
|||||||
export * from './changeRequestCreateSchema.js';
|
export * from './changeRequestCreateSchema.js';
|
||||||
export * from './changeRequestCreateSchemaOneOf.js';
|
export * from './changeRequestCreateSchemaOneOf.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfAction.js';
|
export * from './changeRequestCreateSchemaOneOfAction.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfFourzero.js';
|
|
||||||
export * from './changeRequestCreateSchemaOneOfFourzeroAction.js';
|
|
||||||
export * from './changeRequestCreateSchemaOneOfFourzeroPayload.js';
|
|
||||||
export * from './changeRequestCreateSchemaOneOfNine.js';
|
export * from './changeRequestCreateSchemaOneOfNine.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfNineAction.js';
|
export * from './changeRequestCreateSchemaOneOfNineAction.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfOneeight.js';
|
export * from './changeRequestCreateSchemaOneOfOneeight.js';
|
||||||
@ -227,11 +225,12 @@ export * from './changeRequestCreateSchemaOneOfSixPayload.js';
|
|||||||
export * from './changeRequestCreateSchemaOneOfThree.js';
|
export * from './changeRequestCreateSchemaOneOfThree.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreeAction.js';
|
export * from './changeRequestCreateSchemaOneOfThreeAction.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreePayload.js';
|
export * from './changeRequestCreateSchemaOneOfThreePayload.js';
|
||||||
|
export * from './changeRequestCreateSchemaOneOfThreeeight.js';
|
||||||
|
export * from './changeRequestCreateSchemaOneOfThreeeightAction.js';
|
||||||
|
export * from './changeRequestCreateSchemaOneOfThreeeightPayload.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreefive.js';
|
export * from './changeRequestCreateSchemaOneOfThreefive.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreefiveAction.js';
|
export * from './changeRequestCreateSchemaOneOfThreefiveAction.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreeseven.js';
|
export * from './changeRequestCreateSchemaOneOfThreefivePayload.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreesevenAction.js';
|
|
||||||
export * from './changeRequestCreateSchemaOneOfThreesevenPayload.js';
|
|
||||||
export * from './changeRequestCreateSchemaOneOfThreetwo.js';
|
export * from './changeRequestCreateSchemaOneOfThreetwo.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreetwoAction.js';
|
export * from './changeRequestCreateSchemaOneOfThreetwoAction.js';
|
||||||
export * from './changeRequestCreateSchemaOneOfThreetwoPayload.js';
|
export * from './changeRequestCreateSchemaOneOfThreetwoPayload.js';
|
||||||
@ -259,9 +258,6 @@ export * from './changeRequestFeatureSchema.js';
|
|||||||
export * from './changeRequestOneOrManyCreateSchema.js';
|
export * from './changeRequestOneOrManyCreateSchema.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOf.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOf.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfAction.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfAction.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfFourzero.js';
|
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfFourzeroAction.js';
|
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfFourzeroPayload.js';
|
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfNine.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfNine.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfNineAction.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfNineAction.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfOneeight.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfOneeight.js';
|
||||||
@ -280,11 +276,12 @@ export * from './changeRequestOneOrManyCreateSchemaOneOfSixPayload.js';
|
|||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThree.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThree.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreeAction.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreeAction.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreePayload.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreePayload.js';
|
||||||
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreeeight.js';
|
||||||
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreeeightAction.js';
|
||||||
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreeeightPayload.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreefive.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreefive.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreefiveAction.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreefiveAction.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreeseven.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreefivePayload.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreesevenAction.js';
|
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreesevenPayload.js';
|
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreetwo.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreetwo.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreetwoAction.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreetwoAction.js';
|
||||||
export * from './changeRequestOneOrManyCreateSchemaOneOfThreetwoPayload.js';
|
export * from './changeRequestOneOrManyCreateSchemaOneOfThreetwoPayload.js';
|
||||||
@ -464,9 +461,6 @@ export * from './createImpactMetricsConfigSchemaLabelSelectors.js';
|
|||||||
export * from './createImpactMetricsConfigSchemaTimeRange.js';
|
export * from './createImpactMetricsConfigSchemaTimeRange.js';
|
||||||
export * from './createImpactMetricsConfigSchemaYAxisMin.js';
|
export * from './createImpactMetricsConfigSchemaYAxisMin.js';
|
||||||
export * from './createInvitedUserSchema.js';
|
export * from './createInvitedUserSchema.js';
|
||||||
export * from './createMilestoneProgression401.js';
|
|
||||||
export * from './createMilestoneProgression403.js';
|
|
||||||
export * from './createMilestoneProgressionSchema.js';
|
|
||||||
export * from './createPat401.js';
|
export * from './createPat401.js';
|
||||||
export * from './createPat403.js';
|
export * from './createPat403.js';
|
||||||
export * from './createPat404.js';
|
export * from './createPat404.js';
|
||||||
@ -642,12 +636,15 @@ export * from './doraFeaturesSchema.js';
|
|||||||
export * from './edgeEndpointTrafficSchema.js';
|
export * from './edgeEndpointTrafficSchema.js';
|
||||||
export * from './edgeInstanceDataSchema.js';
|
export * from './edgeInstanceDataSchema.js';
|
||||||
export * from './edgeInstanceDataSchemaHosting.js';
|
export * from './edgeInstanceDataSchemaHosting.js';
|
||||||
|
export * from './edgeInstanceHeartbeat400.js';
|
||||||
export * from './edgeInstanceTrafficSchema.js';
|
export * from './edgeInstanceTrafficSchema.js';
|
||||||
export * from './edgeInstanceTrafficSchemaAccessDenied.js';
|
export * from './edgeInstanceTrafficSchemaAccessDenied.js';
|
||||||
export * from './edgeInstanceTrafficSchemaCachedResponses.js';
|
export * from './edgeInstanceTrafficSchemaCachedResponses.js';
|
||||||
export * from './edgeInstanceTrafficSchemaGet.js';
|
export * from './edgeInstanceTrafficSchemaGet.js';
|
||||||
export * from './edgeInstanceTrafficSchemaPost.js';
|
export * from './edgeInstanceTrafficSchemaPost.js';
|
||||||
export * from './edgeLatencyMetricsSchema.js';
|
export * from './edgeLatencyMetricsSchema.js';
|
||||||
|
export * from './edgeLicenseStateSchema.js';
|
||||||
|
export * from './edgeLicenseStateSchemaEdgeLicenseState.js';
|
||||||
export * from './edgeProcessMetricsSchema.js';
|
export * from './edgeProcessMetricsSchema.js';
|
||||||
export * from './edgeRequestStatsSchema.js';
|
export * from './edgeRequestStatsSchema.js';
|
||||||
export * from './edgeTokenSchema.js';
|
export * from './edgeTokenSchema.js';
|
||||||
@ -988,6 +985,7 @@ export * from './legalValueSchema.js';
|
|||||||
export * from './licenseCheckSchema.js';
|
export * from './licenseCheckSchema.js';
|
||||||
export * from './licenseCheckSchemaMessageType.js';
|
export * from './licenseCheckSchemaMessageType.js';
|
||||||
export * from './licenseReadSchema.js';
|
export * from './licenseReadSchema.js';
|
||||||
|
export * from './licenseReadSchemaResources.js';
|
||||||
export * from './licenseUpdateSchema.js';
|
export * from './licenseUpdateSchema.js';
|
||||||
export * from './licensedUserSchema.js';
|
export * from './licensedUserSchema.js';
|
||||||
export * from './licensedUsersSchema.js';
|
export * from './licensedUsersSchema.js';
|
||||||
@ -1504,10 +1502,6 @@ export * from './updateLicense400.js';
|
|||||||
export * from './updateLicense401.js';
|
export * from './updateLicense401.js';
|
||||||
export * from './updateLicense403.js';
|
export * from './updateLicense403.js';
|
||||||
export * from './updateLicense415.js';
|
export * from './updateLicense415.js';
|
||||||
export * from './updateMilestoneProgression401.js';
|
|
||||||
export * from './updateMilestoneProgression403.js';
|
|
||||||
export * from './updateMilestoneProgression404.js';
|
|
||||||
export * from './updateMilestoneProgressionSchema.js';
|
|
||||||
export * from './updateMilestoneStrategy401.js';
|
export * from './updateMilestoneStrategy401.js';
|
||||||
export * from './updateMilestoneStrategy403.js';
|
export * from './updateMilestoneStrategy403.js';
|
||||||
export * from './updateMilestoneStrategy404.js';
|
export * from './updateMilestoneStrategy404.js';
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Do not edit manually.
|
* Do not edit manually.
|
||||||
* See `gen:api` script in package.json
|
* See `gen:api` script in package.json
|
||||||
*/
|
*/
|
||||||
|
import type { LicenseReadSchemaResources } from './licenseReadSchemaResources.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A model representing a license response.
|
* A model representing a license response.
|
||||||
@ -22,10 +23,8 @@ export interface LicenseReadSchema {
|
|||||||
isValid: boolean;
|
isValid: boolean;
|
||||||
/** Name of plan that the license is for. */
|
/** Name of plan that the license is for. */
|
||||||
plan?: string;
|
plan?: string;
|
||||||
/** Number of release templates in the license. */
|
/** The resources available in the license. */
|
||||||
releaseTemplates?: number;
|
resources?: LicenseReadSchemaResources;
|
||||||
/** Number of seats in the license. */
|
|
||||||
seats?: number;
|
|
||||||
/** The actual license token. */
|
/** The actual license token. */
|
||||||
token?: string;
|
token?: string;
|
||||||
/** Type of license. */
|
/** Type of license. */
|
||||||
|
|||||||
17
frontend/src/openapi/models/licenseReadSchemaResources.ts
Normal file
17
frontend/src/openapi/models/licenseReadSchemaResources.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/**
|
||||||
|
* Generated by Orval
|
||||||
|
* Do not edit manually.
|
||||||
|
* See `gen:api` script in package.json
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The resources available in the license.
|
||||||
|
*/
|
||||||
|
export type LicenseReadSchemaResources = {
|
||||||
|
/** Number of Edge instances in the license. */
|
||||||
|
edgeInstances?: number;
|
||||||
|
/** Number of release templates in the license. */
|
||||||
|
releaseTemplates?: number;
|
||||||
|
/** Number of seats in the license. */
|
||||||
|
seats?: number;
|
||||||
|
};
|
||||||
@ -1,14 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
|
|
||||||
export type UpdateMilestoneProgression403 = {
|
|
||||||
/** The ID of the error instance */
|
|
||||||
id?: string;
|
|
||||||
/** A description of what went wrong. */
|
|
||||||
message?: string;
|
|
||||||
/** The name of the error kind */
|
|
||||||
name?: string;
|
|
||||||
};
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
|
|
||||||
export type UpdateMilestoneProgression404 = {
|
|
||||||
/** The ID of the error instance */
|
|
||||||
id?: string;
|
|
||||||
/** A description of what went wrong. */
|
|
||||||
message?: string;
|
|
||||||
/** The name of the error kind */
|
|
||||||
name?: string;
|
|
||||||
};
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
/**
|
|
||||||
* Generated by Orval
|
|
||||||
* Do not edit manually.
|
|
||||||
* See `gen:api` script in package.json
|
|
||||||
*/
|
|
||||||
import type { TransitionConditionSchema } from './transitionConditionSchema.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Request body to update a milestone progression transition condition
|
|
||||||
*/
|
|
||||||
export interface UpdateMilestoneProgressionSchema {
|
|
||||||
/** The updated condition configuration for the transition */
|
|
||||||
transitionCondition: TransitionConditionSchema;
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user