- Introduced Vocab Trainer functionality, including new routes for managing languages and chapters. - Implemented database schema for vocab-related tables to ensure data integrity. - Updated navigation and UI components to include Vocab Trainer in the social network menu. - Added translations for Vocab Trainer in both German and English locales, enhancing user accessibility.
27 lines
1003 B
JavaScript
27 lines
1003 B
JavaScript
import express from 'express';
|
|
import { authenticate } from '../middleware/authMiddleware.js';
|
|
import VocabController from '../controllers/vocabController.js';
|
|
|
|
const router = express.Router();
|
|
const vocabController = new VocabController();
|
|
|
|
router.use(authenticate);
|
|
|
|
router.get('/languages', vocabController.listLanguages);
|
|
router.post('/languages', vocabController.createLanguage);
|
|
router.post('/subscribe', vocabController.subscribe);
|
|
router.get('/languages/:languageId', vocabController.getLanguage);
|
|
|
|
// Kapitel
|
|
router.get('/languages/:languageId/chapters', vocabController.listChapters);
|
|
router.post('/languages/:languageId/chapters', vocabController.createChapter);
|
|
router.get('/languages/:languageId/vocabs', vocabController.listLanguageVocabs);
|
|
|
|
router.get('/chapters/:chapterId', vocabController.getChapter);
|
|
router.get('/chapters/:chapterId/vocabs', vocabController.listChapterVocabs);
|
|
router.post('/chapters/:chapterId/vocabs', vocabController.addVocabToChapter);
|
|
|
|
export default router;
|
|
|
|
|