mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
48 lines
2.2 KiB
JavaScript
48 lines
2.2 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const ctrl = require('../../controllers/client/courses.controller');
|
|
const progressCtrl = require('../../controllers/client/course_reading_progress.controller');
|
|
|
|
// Course categories for filter chips — must come before /:courseId
|
|
router.get('/categories', ctrl.getCategories);
|
|
|
|
// Profile learning progress card — must come before /:courseId
|
|
router.get('/in-progress', progressCtrl.getMyInProgressCourses);
|
|
|
|
// UUID lookups (task requirement blocks — must come before /:courseId)
|
|
router.get('/uuid/:uuid', ctrl.getCourseByUuid);
|
|
router.get('/unit/uuid/:uuid/lessons', ctrl.getLessonsByUnitUuid);
|
|
router.get('/unit/uuid/:uuid', ctrl.getUnitByUuid);
|
|
router.get('/lesson/uuid/:uuid', ctrl.getLessonByUuid);
|
|
router.get('/quiz/uuid/:uuid', ctrl.getQuizByUuid);
|
|
|
|
// Courses
|
|
router.get('/', ctrl.getCourses);
|
|
router.get('/:courseId', ctrl.getCourse);
|
|
|
|
// Unit
|
|
router.get('/:courseId/units/:unitId', ctrl.getUnit);
|
|
|
|
// Lesson
|
|
router.get('/:courseId/units/:unitId/lessons/:lessonId', ctrl.getLesson);
|
|
|
|
// Quiz (no answers)
|
|
router.get('/:courseId/units/:unitId/quiz', ctrl.getUnitQuiz);
|
|
|
|
// Assessment
|
|
router.get( '/:courseId/assessment', ctrl.getCourseAssessment);
|
|
router.post('/:courseId/assessment/:assessmentId/start', ctrl.startCourseAssessment);
|
|
router.get( '/:courseId/assessment/:assessmentId/session', ctrl.getAssessmentSession);
|
|
router.patch('/:courseId/assessment/:assessmentId/draft', ctrl.saveDraft);
|
|
|
|
router.patch('/:courseId/units/:unitId/quiz/:quizId/draft', ctrl.saveQuizDraft);
|
|
router.post('/:courseId/units/:unitId/quiz/:quizId/submit', ctrl.submitUnitQuiz);
|
|
router.post('/:courseId/assessment/:assessmentId/submit', ctrl.submitCourseAssessment);
|
|
|
|
// Reading progress
|
|
router.get( '/:courseId/progress/summary', progressCtrl.getCourseProgressSummary);
|
|
router.get( '/:courseId/progress', progressCtrl.getCourseProgress);
|
|
router.get( '/:courseId/task-context', progressCtrl.getCourseTaskContext);
|
|
router.post('/:courseId/units/:unitId/lessons/:lessonId/progress', progressCtrl.upsertLessonProgress);
|
|
|
|
module.exports = router; |