feat(aihr): finalize practice growth and access boundaries
This commit is contained in:
@@ -18,6 +18,17 @@ export type PracticeScenarioResponse = {
|
||||
position: string;
|
||||
scenarioType: string;
|
||||
projectType: string;
|
||||
growthLevel: string;
|
||||
competencyCode: string;
|
||||
collaborationPositions: string;
|
||||
reviewStatus: string;
|
||||
riskLevel: '待评估' | '常规' | '高风险';
|
||||
requiresDualReview: boolean;
|
||||
curriculumVersion: string;
|
||||
reviewer?: string;
|
||||
reviewedTime?: string;
|
||||
secondReviewer?: string;
|
||||
secondReviewedTime?: string;
|
||||
difficulty: number;
|
||||
customerPersona: string;
|
||||
openingText: string;
|
||||
@@ -58,6 +69,11 @@ export type PracticeScenarioSaveRequest = {
|
||||
position: string;
|
||||
scenarioType: string;
|
||||
projectType: string;
|
||||
growthLevel: string;
|
||||
competencyCode: string;
|
||||
collaborationPositions: string;
|
||||
riskLevel: '待评估' | '常规' | '高风险';
|
||||
curriculumVersion: string;
|
||||
difficulty: number;
|
||||
customerPersona: string;
|
||||
openingText: string;
|
||||
@@ -73,6 +89,35 @@ export type PracticeScenarioSaveRequest = {
|
||||
rounds: PracticeScenarioRound[];
|
||||
};
|
||||
|
||||
export type PracticeScenarioReviewStatusRequest = {
|
||||
reviewStatus: '草稿' | '待业务审核' | '已发布' | '已下线';
|
||||
};
|
||||
|
||||
export type PracticeScenarioReviewStatusResponse = {
|
||||
reviewStatus: '草稿' | '待业务审核' | '已发布' | '已下线';
|
||||
awaitingSecondReview: boolean;
|
||||
message: string;
|
||||
};
|
||||
|
||||
export type PracticeCurriculumCapability = {
|
||||
position: string;
|
||||
growthLevel: string;
|
||||
code: string;
|
||||
name: string;
|
||||
};
|
||||
|
||||
export type PracticeCurriculumMatrixRow = {
|
||||
position: string;
|
||||
growthLevel: string;
|
||||
competencyCode: string;
|
||||
competencyName: string;
|
||||
publishedCount: number;
|
||||
pendingReviewCount: number;
|
||||
draftCount: number;
|
||||
offlineCount: number;
|
||||
coverageStatus: string;
|
||||
};
|
||||
|
||||
export type PracticeRubricDimension = {
|
||||
code: string;
|
||||
name: string;
|
||||
@@ -289,6 +334,30 @@ export function updatePracticeScenarioEnabled(id: string, data: PracticeScenario
|
||||
});
|
||||
}
|
||||
|
||||
export function updatePracticeScenarioReviewStatus(
|
||||
id: string,
|
||||
data: PracticeScenarioReviewStatusRequest
|
||||
): Promise<ApiResult<PracticeScenarioReviewStatusResponse>> {
|
||||
return request({
|
||||
url: `/api/train/practice/scenarios/${encodeURIComponent(id)}/review-status`,
|
||||
method: 'patch',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
export function listPracticeCurriculumCapabilities(params?: {
|
||||
position?: string;
|
||||
growthLevel?: string;
|
||||
}): Promise<ApiResult<PracticeCurriculumCapability[]>> {
|
||||
return request({ url: '/api/train/practice/curriculum/capabilities', method: 'get', params });
|
||||
}
|
||||
|
||||
export function listPracticeCurriculumMatrix(params?: {
|
||||
position?: string;
|
||||
}): Promise<ApiResult<PracticeCurriculumMatrixRow[]>> {
|
||||
return request({ url: '/api/train/practice/curriculum/matrix', method: 'get', params });
|
||||
}
|
||||
|
||||
export function savePracticeScenario(data: PracticeScenarioSaveRequest): Promise<ApiResult<PracticeScenarioResponse>> {
|
||||
return request({
|
||||
url: '/api/train/practice/scenarios',
|
||||
|
||||
Reference in New Issue
Block a user