fix(需求池): 修复列表换行和版本解绑状态

This commit is contained in:
Script Generator
2026-07-02 19:50:47 +08:00
parent 121114af6a
commit 554ab520d1
7 changed files with 194 additions and 17 deletions

View File

@@ -0,0 +1,29 @@
import type { Requirement } from './requirement';
type RequirementVersionPatch = Pick<Partial<Requirement>, 'versionId' | 'addedToVersionBy' | 'status'>;
const VERSION_SCOPED_REQUIREMENT_STATUSES = new Set<Requirement['status']>(['planned', 'developing', 'testing', 'released']);
export function getRequirementVersionUnlinkPatch(
requirement: Pick<Requirement, 'status'>,
): RequirementVersionPatch {
return {
versionId: undefined,
addedToVersionBy: undefined,
...(VERSION_SCOPED_REQUIREMENT_STATUSES.has(requirement.status) ? { status: 'adopted' as const } : {}),
};
}
export function getRequirementVersionSelectionPatch(
requirement: Pick<Requirement, 'status' | 'addedToVersionBy'>,
versionId?: string,
addedBy?: string,
): RequirementVersionPatch {
if (!versionId) {
return getRequirementVersionUnlinkPatch(requirement);
}
return {
versionId,
addedToVersionBy: addedBy || requirement.addedToVersionBy,
};
}