Merge branch 'feat/service-layer' into feat/service-layer-adriaan

# Conflicts:
#	backend/src/controllers/classes.ts
#	backend/src/controllers/students.ts
#	backend/src/data/users/teacher-repository.ts
#	backend/src/interfaces/assignment.ts
#	backend/src/interfaces/teacher.ts
#	backend/src/routes/classes.ts
#	backend/src/services/assignments.ts
#	backend/src/services/class.ts
#	backend/src/services/students.ts
#	backend/src/util/translation-helper.ts
This commit is contained in:
Gabriellvl 2025-03-09 22:30:15 +01:00
commit 6c4ea0eefb
33 changed files with 454 additions and 137 deletions

View file

@ -0,0 +1,25 @@
import { Group } from "../entities/assignments/group.entity.js";
import { AssignmentDTO, mapToAssignmentDTO } from "./assignments.js";
import { mapToStudentDTO, StudentDTO } from "./students.js";
export interface GroupDTO {
assignment: number | AssignmentDTO,
groupNumber: number,
members: string[] | StudentDTO[],
};
export function mapToGroupDTO(group: Group): GroupDTO {
return {
assignment: mapToAssignmentDTO(group.assignment), // ERROR: , group.assignment.within),
groupNumber: group.groupNumber,
members: group.members.map(mapToStudentDTO),
}
}
export function mapToGroupDTOId(group: Group): GroupDTO {
return {
assignment: group.assignment.id,
groupNumber: group.groupNumber,
members: group.members.map(member => member.username),
}
}