Files
starr-philproperties/routes/client/courses.routes.js
T
kennethobsequio 9b8577b79b perform test
test to courses

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
2026-06-24 12:48:51 +08:00

42 lines
1.9 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');
// 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);
// 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.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.post('/:courseId/units/:unitId/lessons/:lessonId/progress', progressCtrl.upsertLessonProgress);
module.exports = router;