48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
import type { Bug } from './bug';
|
|
import type { DevTask } from './dev-task';
|
|
import type { TestCase } from './test-case';
|
|
import type { V22WorkspaceData } from './v22-api';
|
|
import type { VersionPlan } from './version-plan';
|
|
|
|
export interface WorkspaceCollections {
|
|
versionPlans: VersionPlan[];
|
|
devTasks: DevTask[];
|
|
testCases: TestCase[];
|
|
bugs: Bug[];
|
|
}
|
|
|
|
export interface SelectWorkspaceCollectionsInput {
|
|
v22Loaded: boolean;
|
|
v22Failed: boolean;
|
|
v22Data: V22WorkspaceData | null;
|
|
appData: {
|
|
plans: VersionPlan[];
|
|
devTasks: DevTask[];
|
|
testCases: TestCase[];
|
|
bugs: Bug[];
|
|
};
|
|
}
|
|
|
|
export function selectWorkspaceCollections({
|
|
v22Loaded,
|
|
v22Failed,
|
|
v22Data,
|
|
appData,
|
|
}: SelectWorkspaceCollectionsInput): WorkspaceCollections {
|
|
if (v22Loaded && !v22Failed && v22Data) {
|
|
return {
|
|
versionPlans: v22Data.versionPlans,
|
|
devTasks: v22Data.devTasks,
|
|
testCases: v22Data.testCases,
|
|
bugs: v22Data.bugs,
|
|
};
|
|
}
|
|
|
|
return {
|
|
versionPlans: appData.plans,
|
|
devTasks: appData.devTasks,
|
|
testCases: appData.testCases,
|
|
bugs: appData.bugs,
|
|
};
|
|
}
|