fix: add question in group check + extra create question errors service

This commit is contained in:
Gabriellvl 2025-04-19 10:58:49 +02:00
parent 78b65f148e
commit 566bb5a5fb
4 changed files with 47 additions and 6 deletions

View file

@ -12,6 +12,7 @@ import { AssignmentDTO } from '@dwengo-1/common/interfaces/assignment';
import { fetchStudent } from './students.js';
import { NotFoundException } from '../exceptions/not-found-exception';
import { FALLBACK_VERSION_NUM } from '../config.js';
import {ConflictException} from "../exceptions/conflict-exception";
export async function getQuestionsAboutLearningObjectInAssignment(
loId: LearningObjectIdentifier,
@ -88,12 +89,20 @@ export async function createQuestion(loId: LearningObjectIdentifier, questionDat
const clazz = await getClassRepository().findById((questionData.inGroup.assignment as AssignmentDTO).within);
const assignment = mapToAssignment(questionData.inGroup.assignment as AssignmentDTO, clazz!);
const inGroup = await getGroupRepository().findByAssignmentAndGroupNumber(assignment, questionData.inGroup.groupNumber);
const group = await getGroupRepository().findByAssignmentAndGroupNumber(assignment, questionData.inGroup.groupNumber);
if (!group){
throw new NotFoundException("Group with id and assignment not found");
}
if (! group.members.contains(author)) {
throw new ConflictException("Author is not part of this group");
}
const question = await questionRepository.createQuestion({
loId,
author,
inGroup: inGroup!,
inGroup: group!,
content,
});