fix: afsplitsing functies objects

This commit is contained in:
Gabriellvl 2025-03-02 11:05:06 +01:00
parent 484120ab50
commit 3b689d8e09
2 changed files with 100 additions and 45 deletions

View file

@ -1,29 +1,57 @@
import { Request, Response } from 'express';
import { getLearningObjectsFromPath } from '../services/learningObjects.js';
import {
getLearningObjectById,
getLearningObjectIdsFromPath,
getLearningObjectsFromPath
} from '../services/learningObjects.js';
import { FALLBACK_LANG } from '../config.js';
import {FilteredLearningObject} from "../interfaces/learningPath";
export async function getAllLearningObjects(
req: Request,
res: Response
): Promise<void> {
try {
const hruid = (req.query.hruid as string);
const full = req.query.full === 'true';
const language = (req.query.language as string) || FALLBACK_LANG;
if (!hruid) {
res.status(400).json({ error: 'HRUID query is required.' });
return;
}
let learningObjects: FilteredLearningObject[] | string[];
if (full)
learningObjects = await getLearningObjectsFromPath(hruid,language);
else
learningObjects = await getLearningObjectIdsFromPath(hruid, language)
res.json(learningObjects);
} catch (error) {
console.error('Error fetching learning objects:', error);
res.status(500).json({ error: 'Internal server error' });
}
}
export async function getLearningObject(
req: Request,
res: Response
): Promise<void> {
try {
const { hruid } = req.params;
const language = (req.query.language as string) || FALLBACK_LANG;
if (!language) {
res.status(400).json({
error: 'Language query parameter is required.',
});
if (!hruid) {
res.status(400).json({ error: 'HRUID parameter is required.' });
return;
}
const learningObjects = await getLearningObjectsFromPath(
hruid,
language
);
res.json(learningObjects);
} catch (error) {
console.error('Error fetching learning objects:', error);
const learningObject = await getLearningObjectById(hruid, language);
res.json(learningObject);
} catch (error){
console.error('Error fetching learning object:', error);
res.status(500).json({ error: 'Internal server error' });
}
}