fix+feat: error bij het toevegoen van groups na het aanmaken van een assignment gefixt, group & assignment DTO Id toegevoegd

This commit is contained in:
Adriaan Jacquet 2025-04-15 19:56:09 +02:00
parent 0ceb6761d7
commit e3fc4b72a7
8 changed files with 53 additions and 50 deletions

View file

@ -3,22 +3,17 @@ import { FALLBACK_LANG } from '../config.js';
import { Assignment } from '../entities/assignments/assignment.entity.js';
import { Class } from '../entities/classes/class.entity.js';
import { getLogger } from '../logging/initalize.js';
import { AssignmentDTO } from '@dwengo-1/common/interfaces/assignment';
import { AssignmentDTO, AssignmentDTOId } from '@dwengo-1/common/interfaces/assignment';
import { mapToGroupDTO, mapToGroupDTOId } from './group.js';
import { getAssignmentHandler } from '../controllers/assignments.js';
import { getAssignmentRepository, getClassRepository } from '../data/repositories.js';
export function mapToAssignmentDTOId(assignment: Assignment): AssignmentDTO {
return {
id: assignment.id!,
within: assignment.within.classId!,
title: assignment.title,
description: assignment.description,
learningPath: assignment.learningPathHruid,
language: assignment.learningPathLanguage,
groups: assignment.groups.map(group => mapToGroupDTOId(group, assignment.within)),
};
}
export function mapToAssignmentDTOId(assignment: Assignment): AssignmentDTOId {
return {
id: assignment.id!,
within: assignment.within.classId!,
};
}
export function mapToAssignmentDTO(assignment: Assignment): AssignmentDTO {
return {

View file

@ -3,22 +3,25 @@ import { Class } from '../entities/classes/class.entity.js';
import {mapToAssignmentDTOId} from './assignment.js';
import { mapToClassDTO } from './class.js';
import { mapToStudentDTO } from './student.js';
import { GroupDTO } from '@dwengo-1/common/interfaces/group';
import { GroupDTO, GroupDTOId } from '@dwengo-1/common/interfaces/group';
export function mapToGroupDTO(group: Group, cls: Class): GroupDTO {
return {
class: mapToClassDTO(cls),
assignment: mapToAssignmentDTOId(group.assignment),
groupNumber: group.groupNumber!,
members: group.members.map(mapToStudentDTO),
};
}
export function mapToGroupDTOId(group: Group, cls: Class): GroupDTO {
export function mapToGroupDTO(group: Group, cls: Class, options?: { expandStudents: boolean }): GroupDTO {
return {
class: cls.classId!,
assignment: group.assignment.id!,
groupNumber: group.groupNumber!,
members:
options?.expandStudents
? group.members.map(mapToStudentDTO)
: group.members.map((student) => student.username)
};
}
export function mapToGroupDTOId(group: Group, cls: Class): GroupDTOId {
return {
class: cls.classId!,
assignment: group.assignment.id!,
groupNumber: group.groupNumber!,
members: group.members.map((member) => member.username),
};
}