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 }));