Merge remote-tracking branch 'origin/feature/own-learning-objects' into feature/own-learning-objects

This commit is contained in:
Gerald Schmittinger 2025-03-11 12:18:21 +01:00
commit 67f8b3e157
7 changed files with 61 additions and 75 deletions

View file

@ -97,9 +97,10 @@ async function convertNodes(
learningobject_hruid: node.learningObjectHruid,
version: learningObject.version,
transitions: node.transitions
.filter((trans) =>
!personalizedFor || isTransitionPossible(trans, optionalJsonStringToObject(lastSubmission?.content)) // If we want a personalized learning path, remove all transitions that aren't possible.
).map((trans, i) => convertTransition(trans, i, nodesToLearningObjects)), // Then convert all the transition
.filter(
(trans) => !personalizedFor || isTransitionPossible(trans, optionalJsonStringToObject(lastSubmission?.content)) // If we want a personalized learning path, remove all transitions that aren't possible.
)
.map((trans, i) => convertTransition(trans, i, nodesToLearningObjects)), // Then convert all the transition
};
})
.toArray();
@ -112,9 +113,8 @@ async function convertNodes(
function optionalJsonStringToObject(jsonString?: string): object | null {
if (!jsonString) {
return null;
} else {
return JSON.parse(jsonString);
}
return JSON.parse(jsonString);
}
/**

View file

@ -88,6 +88,6 @@ export function isTransitionPossible(transition: LearningPathTransition, submitt
if (submitted === null) {
return false; // If the transition is not unconditional and there was no submission, the transition is not possible.
}
const match = JSONPath({ path: transition.condition, json: {submission: submitted} })
const match = JSONPath({ path: transition.condition, json: { submission: submitted } });
return match.length === 1;
}