Merge branch 'dev' into refactor/linting

This commit is contained in:
Tibo De Peuter 2025-03-23 14:19:58 +01:00
commit 2490e61a78
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
27 changed files with 1541 additions and 157 deletions

View file

@ -6,7 +6,7 @@ interface Translations {
curricula_page: Record<string, { title: string; description?: string }>;
}
export function getThemes(req: Request, res: Response): void {
export function getThemesHandler(req: Request, res: Response): void {
const language = (req.query.language as string).toLowerCase() || 'nl';
const translations = loadTranslations<Translations>(language);
const themeList = themes.map((theme) => ({
@ -19,8 +19,14 @@ export function getThemes(req: Request, res: Response): void {
res.json(themeList);
}
export function getThemeByTitle(req: Request, res: Response): void {
export function getHruidsByThemeHandler(req: Request, res: Response): void {
const themeKey = req.params.theme;
if (!themeKey) {
res.status(400).json({ error: 'Missing required field: theme' });
return;
}
const theme = themes.find((t) => t.title === themeKey);
if (theme) {

View file

@ -1,14 +1,14 @@
import express from 'express';
import { getThemes, getThemeByTitle } from '../controllers/themes.js';
import { getThemesHandler, getHruidsByThemeHandler } from '../controllers/themes.js';
const router = express.Router();
// Query: language
// Route to fetch list of {key, title, description, image} themes in their respective language
router.get('/', getThemes);
router.get('/', getThemesHandler);
// Arg: theme (key)
// Route to fetch list of hruids based on theme
router.get('/:theme', getThemeByTitle);
router.get('/:theme', getHruidsByThemeHandler);
export default router;