medienkompetenz-lernplattform/backend/src/routes/lesson.routes.js
2026-02-05 22:42:30 +01:00

32 lines
1.2 KiB
JavaScript

const express = require('express');
const router = express.Router();
const { asyncHandler } = require('../middleware/errorHandler');
const { verifyParticipantToken } = require('../middleware/auth');
const lessonController = require('../controllers/lesson.controller');
// All lesson routes require participant authentication
router.use(verifyParticipantToken);
// Get lessons for an event
router.get('/event/:eventId/lessons', asyncHandler(lessonController.getEventLessons));
// Get lesson content
router.get('/:eventLessonId', asyncHandler(lessonController.getLessonContent));
// Start a lesson
router.post('/:eventLessonId/start', asyncHandler(lessonController.startLesson));
// Submit an answer
router.post('/:eventLessonId/answer', asyncHandler(lessonController.submitAnswer));
// Complete a lesson
router.post('/:eventLessonId/complete', asyncHandler(lessonController.completeLesson));
// Execute lesson-specific action
router.post('/:eventLessonId/action/:action', asyncHandler(lessonController.executeLessonAction));
// Get interactive component data
router.get('/:lessonKey/interactive/:stepId', asyncHandler(lessonController.getInteractiveData));
module.exports = router;