diff --git a/admin-compliance/lib/sdk/academy/api.ts b/admin-compliance/lib/sdk/academy/api.ts index 253d616..c2a0e02 100644 --- a/admin-compliance/lib/sdk/academy/api.ts +++ b/admin-compliance/lib/sdk/academy/api.ts @@ -142,6 +142,14 @@ interface BackendCourse { updated_at: string } +interface BackendQuizQuestion { + id: string + question: string + options: string[] + correct_index: number + explanation: string +} + interface BackendLesson { id: string course_id: string @@ -151,7 +159,7 @@ interface BackendLesson { content_url?: string duration_minutes: number order_index: number - quiz_questions?: Array<{ question: string; options: string[]; correct_index: number; explanation: string }> + quiz_questions?: BackendQuizQuestion[] } function mapCourseFromBackend(bc: BackendCourse): Course { @@ -170,6 +178,14 @@ function mapCourseFromBackend(bc: BackendCourse): Course { contentMarkdown: l.content_url || '', durationMinutes: l.duration_minutes || 0, order: l.order_index, + quizQuestions: (l.quiz_questions || []).map(q => ({ + id: q.id || `q-${Math.random().toString(36).slice(2)}`, + lessonId: l.id, + question: q.question, + options: q.options, + correctOptionIndex: q.correct_index, + explanation: q.explanation, + })), })), createdAt: bc.created_at, updatedAt: bc.updated_at, diff --git a/admin-compliance/lib/sdk/academy/types.ts b/admin-compliance/lib/sdk/academy/types.ts index 13a7354..e05f7ee 100644 --- a/admin-compliance/lib/sdk/academy/types.ts +++ b/admin-compliance/lib/sdk/academy/types.ts @@ -131,6 +131,7 @@ export interface Lesson { videoUrl?: string order: number durationMinutes: number + quizQuestions?: QuizQuestion[] } export interface QuizQuestion {