refactor(common): Group

This commit is contained in:
Tibo De Peuter 2025-03-31 19:09:23 +02:00
parent 24ed39d04e
commit 1a0704c16f
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
7 changed files with 18 additions and 13 deletions

View file

@ -1,6 +1,7 @@
import { Request, Response } from 'express';
import { createGroup, getAllGroups, getGroup, getGroupSubmissions } from '../services/groups.js';
import { GroupDTO } from '../interfaces/group.js';
import { GroupDTO } from 'dwengo-1-common/src/interfaces/group';
// Typescript is annoywith with parameter forwarding from class.ts
interface GroupParams {

View file

@ -1,13 +1,7 @@
import { Group } from '../entities/assignments/group.entity.js';
import { mapToAssignmentDTO } from './assignment.js';
import { mapToStudentDTO, StudentDTO } from './student.js';
import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment';
export interface GroupDTO {
assignment: number | AssignmentDTO;
groupNumber: number;
members: string[] | StudentDTO[];
}
import { mapToStudentDTO } from './student.js';
import { GroupDTO } from 'dwengo-1-common/src/interfaces/group';
export function mapToGroupDTO(group: Group): GroupDTO {
return {

View file

@ -1,8 +1,9 @@
import { Submission } from '../entities/assignments/submission.entity.js';
import { Language } from '../entities/content/language.js';
import { GroupDTO, mapToGroupDTO } from './group.js';
import { mapToGroupDTO } from './group.js';
import { mapToStudent, mapToStudentDTO, StudentDTO } from './student.js';
import { LearningObjectIdentifier } from './learning-content.js';
import { GroupDTO } from 'dwengo-1-common/src/interfaces/group';
export interface SubmissionDTO {
learningObjectIdentifier: LearningObjectIdentifier;

View file

@ -6,8 +6,9 @@ import {
getSubmissionRepository,
} from '../data/repositories.js';
import { Group } from '../entities/assignments/group.entity.js';
import { GroupDTO, mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js';
import { mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js';
import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js';
import { GroupDTO } from 'dwengo-1-common/src/interfaces/group';
export async function getGroup(classId: string, assignmentNumber: number, groupNumber: number, full: boolean): Promise<GroupDTO | null> {
const classRepository = getClassRepository();

View file

@ -1,11 +1,12 @@
import { getClassRepository, getGroupRepository, getStudentRepository, getSubmissionRepository } from '../data/repositories.js';
import { mapToClassDTO } from '../interfaces/class.js';
import { GroupDTO, mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js';
import { mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js';
import { mapToStudent, mapToStudentDTO, StudentDTO } from '../interfaces/student.js';
import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js';
import { getAllAssignments } from './assignments.js';
import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment';
import { ClassDTO } from 'dwengo-1-common/src/interfaces/class';
import { GroupDTO } from 'dwengo-1-common/src/interfaces/group';
export async function getAllStudents(full: boolean): Promise<StudentDTO[] | string[]> {
const studentRepository = getStudentRepository();