From 1232edd57066dd28ad61844cf48524f64de1584d Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Tue, 26 May 2026 15:40:59 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20erweitere=20=5FextractTrainerVocabsFrom?= =?UTF-8?q?Exercises=20um=20Optionen=20zur=20Steuerung=20von=20L=C3=BCcken?= =?UTF-8?q?f=C3=BCllungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/services/vocabService.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/services/vocabService.js b/backend/services/vocabService.js index 0ebfbad..6e79a1d 100644 --- a/backend/services/vocabService.js +++ b/backend/services/vocabService.js @@ -777,7 +777,8 @@ export default class VocabService { return {}; } - _extractTrainerVocabsFromExercises(exercises = []) { + _extractTrainerVocabsFromExercises(exercises = [], options = {}) { + const { allowGapFill = true } = options || {}; const vocabMap = new Map(); exercises.forEach((exercise) => { @@ -813,6 +814,7 @@ export default class VocabService { } if (exerciseType === 'gap_fill') { + if (!allowGapFill) return; const answers = Array.isArray(aData.answers) ? aData.answers : (aData.correct ? (Array.isArray(aData.correct) ? aData.correct : [aData.correct]) : []); @@ -2670,7 +2672,7 @@ export default class VocabService { if (plainLesson.weekNumber) { try { const weekExercises = await this._getWeekVocabExercises(plainLesson.courseId, plainLesson.weekNumber, plainLesson.lessonNumber); - const extracted = this._extractTrainerVocabsFromExercises(weekExercises || []); + const extracted = this._extractTrainerVocabsFromExercises(weekExercises || [], { allowGapFill: false }); if (extracted && extracted.length) { // Map extracted pairs to row-like objects with numeric ids rows = extracted.map((item, idx) => ({ id: 2000000 + idx, learning: item.learning, reference: item.reference }));