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;