From dfac089b7aa1b4baa80c7243a75750fd206d30cd Mon Sep 17 00:00:00 2001 From: codemagician Date: Sun, 27 Sep 2026 22:54:57 +0100 Subject: [PATCH] fix(types): remove duplicate EnrollmentStatus/QuizResult definitions course.ts declared EnrollmentStatus twice and CourseEnrollment.status twice (required then optional); quiz.ts declared QuizResult as an interface then redefined it as a type alias. Kept the later, documented (#310) definitions in each file; no consumer referenced the removed EnrollmentStatus members ("active"/"dropped") or the removed QuizResult interface shape. Closes #427 --- src/types/course.ts | 3 --- src/types/quiz.ts | 12 ------------ 2 files changed, 15 deletions(-) diff --git a/src/types/course.ts b/src/types/course.ts index c080d0a..293acd2 100644 --- a/src/types/course.ts +++ b/src/types/course.ts @@ -27,15 +27,12 @@ export interface Module { isCompleted?: boolean; } -export type EnrollmentStatus = "not_enrolled" | "active" | "completed" | "dropped"; - export interface CourseEnrollment { id: string; courseId: string; userId: string; enrolledAt: string; progress: number; // 0-100 - status: EnrollmentStatus; completedModules: string[]; lastAccessedAt: string; /** diff --git a/src/types/quiz.ts b/src/types/quiz.ts index e6b81f8..0de1fc1 100644 --- a/src/types/quiz.ts +++ b/src/types/quiz.ts @@ -61,18 +61,6 @@ export interface SubmitQuizRequest { timeTakenSeconds?: number; } -export interface QuizResult { - quizId: string; - userId: string; - score: number; - passed: boolean; - totalQuestions: number; - correctAnswers: number; - timeTakenSeconds?: number; - answers: QuizAnswer[]; - rewardEarned?: number; -} - export interface QuizFeedback { questionId: string; isCorrect: boolean;