- Implemented a new searchVocabs method in VocabService to allow users to search for vocabulary based on learning and mother tongue terms. - Updated VocabController to include the searchVocabs method wrapped with user authentication. - Added a new route in vocabRouter for searching vocabulary by language ID. - Enhanced VocabChapterView and VocabLanguageView components to include a button for opening the search dialog. - Added translations for search-related terms in both German and English locales, improving user accessibility.
28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
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('/languages/:languageId/search', vocabController.searchVocabs);
|
|
|
|
router.get('/chapters/:chapterId', vocabController.getChapter);
|
|
router.get('/chapters/:chapterId/vocabs', vocabController.listChapterVocabs);
|
|
router.post('/chapters/:chapterId/vocabs', vocabController.addVocabToChapter);
|
|
|
|
export default router;
|
|
|
|
|