diff --git a/backend/src/controllers/questions.ts b/backend/src/controllers/questions.ts index b5b764ac..54b50fa9 100644 --- a/backend/src/controllers/questions.ts +++ b/backend/src/controllers/questions.ts @@ -88,7 +88,7 @@ export async function getQuestionAnswersHandler(req: Request, res: Response): Pr export async function createQuestionHandler(req: Request, res: Response): Promise { const questionDTO = req.body as QuestionDTO; - if (!questionDTO.learningObjectIdentifier || !questionDTO.author || !questionDTO.content) { + if (!questionDTO.learningObjectIdentifier || !questionDTO.author || !questionDTO.inGroup || !questionDTO.content) { res.status(400).json({ error: 'Missing required fields: identifier and content' }); return; } diff --git a/backend/src/data/questions/question-repository.ts b/backend/src/data/questions/question-repository.ts index 087246b6..51df5afe 100644 --- a/backend/src/data/questions/question-repository.ts +++ b/backend/src/data/questions/question-repository.ts @@ -3,15 +3,16 @@ import { Question } from '../../entities/questions/question.entity.js'; import { LearningObjectIdentifier } from '../../entities/content/learning-object-identifier.js'; import { Student } from '../../entities/users/student.entity.js'; import { LearningObject } from '../../entities/content/learning-object.entity.js'; +import {Group} from "../../entities/assignments/group.entity"; export class QuestionRepository extends DwengoEntityRepository { - public async createQuestion(question: { loId: LearningObjectIdentifier; author: Student; group: Group, content: string }): Promise { + public async createQuestion(question: { loId: LearningObjectIdentifier; author: Student; inGroup: Group, content: string }): Promise { const questionEntity = this.create({ learningObjectHruid: question.loId.hruid, learningObjectLanguage: question.loId.language, learningObjectVersion: question.loId.version, author: question.author, - group: question.group, + inGroup: question.inGroup, content: question.content, timestamp: new Date(), }); @@ -19,7 +20,7 @@ export class QuestionRepository extends DwengoEntityRepository { questionEntity.learningObjectLanguage = question.loId.language; questionEntity.learningObjectVersion = question.loId.version; questionEntity.author = question.author; - questionEntity.group = question.group; + questionEntity.inGroup = question.inGroup; questionEntity.content = question.content; return this.insert(questionEntity); } diff --git a/backend/src/entities/questions/question.entity.ts b/backend/src/entities/questions/question.entity.ts index 8ee2c70e..bb36e8a3 100644 --- a/backend/src/entities/questions/question.entity.ts +++ b/backend/src/entities/questions/question.entity.ts @@ -2,6 +2,7 @@ import { Entity, Enum, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'; import { Student } from '../users/student.entity.js'; import { QuestionRepository } from '../../data/questions/question-repository.js'; import { Language } from '@dwengo-1/common/util/language'; +import {Group} from "../assignments/group.entity"; @Entity({ repository: () => QuestionRepository }) export class Question { @@ -21,7 +22,7 @@ export class Question { sequenceNumber?: number; @ManyToOne({ entity: () => Group, primary: true }) - inGroup: Group; + inGroup!: Group; @ManyToOne({ entity: () => Student, diff --git a/backend/src/services/questions.ts b/backend/src/services/questions.ts index 319061c5..e1ee8831 100644 --- a/backend/src/services/questions.ts +++ b/backend/src/services/questions.ts @@ -80,6 +80,7 @@ export async function createQuestion(questionDTO: QuestionDTO): Promise