diff --git a/backend/src/data/questions/question-repository.ts b/backend/src/data/questions/question-repository.ts index 01e38df2..14db8c88 100644 --- a/backend/src/data/questions/question-repository.ts +++ b/backend/src/data/questions/question-repository.ts @@ -5,6 +5,7 @@ import { Student } from '../../entities/users/student.entity.js'; import { LearningObject } from '../../entities/content/learning-object.entity.js'; import { Assignment } from '../../entities/assignments/assignment.entity.js'; import { Loaded } from '@mikro-orm/core'; +import {Group} from "../../entities/assignments/group.entity"; export class QuestionRepository extends DwengoEntityRepository { public async createQuestion(question: { loId: LearningObjectIdentifier; author: Student; content: string }): Promise { @@ -59,7 +60,7 @@ export class QuestionRepository extends DwengoEntityRepository { public async findAllByAssignment(assignment: Assignment): Promise { return this.find({ - author: assignment.groups.flatMap((group) => group.members), + author: assignment.groups.toArray().flatMap((group) => group.members), learningObjectHruid: assignment.learningPathHruid, learningObjectLanguage: assignment.learningPathLanguage, }); diff --git a/backend/src/interfaces/submission.ts b/backend/src/interfaces/submission.ts index 91882c35..b9eb0802 100644 --- a/backend/src/interfaces/submission.ts +++ b/backend/src/interfaces/submission.ts @@ -17,7 +17,7 @@ export function mapToSubmissionDTO(submission: Submission): SubmissionDTO { submissionNumber: submission.submissionNumber, submitter: mapToStudentDTO(submission.submitter), time: submission.submissionTime, - group: submission.onBehalfOf ? mapToGroupDTO(submission.onBehalfOf) : undefined, + group: submission.onBehalfOf ? mapToGroupDTO(submission.onBehalfOf, submission.onBehalfOf.assignment.within) : undefined, content: submission.content, }; } diff --git a/backend/src/services/students.ts b/backend/src/services/students.ts index 6cfbbd5b..121b382e 100644 --- a/backend/src/services/students.ts +++ b/backend/src/services/students.ts @@ -98,10 +98,10 @@ export async function getStudentGroups(username: string, full: boolean): Promise const groups = await groupRepository.findAllGroupsWithStudent(student); if (full) { - return groups.map(mapToGroupDTO); + return groups.map(group => mapToGroupDTO(group, group.assignment.within)); } - return groups.map(mapToGroupDTOId); + return groups.map(group => mapToGroupDTOId(group, group.assignment.within)); } export async function getStudentSubmissions(username: string, full: boolean): Promise {