refactor(common): Group
This commit is contained in:
parent
24ed39d04e
commit
1a0704c16f
7 changed files with 18 additions and 13 deletions
|
@ -1,6 +1,7 @@
|
||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import { createGroup, getAllGroups, getGroup, getGroupSubmissions } from '../services/groups.js';
|
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
|
// Typescript is annoywith with parameter forwarding from class.ts
|
||||||
interface GroupParams {
|
interface GroupParams {
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
import { Group } from '../entities/assignments/group.entity.js';
|
import { Group } from '../entities/assignments/group.entity.js';
|
||||||
import { mapToAssignmentDTO } from './assignment.js';
|
import { mapToAssignmentDTO } from './assignment.js';
|
||||||
import { mapToStudentDTO, StudentDTO } from './student.js';
|
import { mapToStudentDTO } from './student.js';
|
||||||
import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment';
|
import { GroupDTO } from 'dwengo-1-common/src/interfaces/group';
|
||||||
|
|
||||||
export interface GroupDTO {
|
|
||||||
assignment: number | AssignmentDTO;
|
|
||||||
groupNumber: number;
|
|
||||||
members: string[] | StudentDTO[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export function mapToGroupDTO(group: Group): GroupDTO {
|
export function mapToGroupDTO(group: Group): GroupDTO {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { Submission } from '../entities/assignments/submission.entity.js';
|
import { Submission } from '../entities/assignments/submission.entity.js';
|
||||||
import { Language } from '../entities/content/language.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 { mapToStudent, mapToStudentDTO, StudentDTO } from './student.js';
|
||||||
import { LearningObjectIdentifier } from './learning-content.js';
|
import { LearningObjectIdentifier } from './learning-content.js';
|
||||||
|
import { GroupDTO } from 'dwengo-1-common/src/interfaces/group';
|
||||||
|
|
||||||
export interface SubmissionDTO {
|
export interface SubmissionDTO {
|
||||||
learningObjectIdentifier: LearningObjectIdentifier;
|
learningObjectIdentifier: LearningObjectIdentifier;
|
||||||
|
|
|
@ -6,8 +6,9 @@ import {
|
||||||
getSubmissionRepository,
|
getSubmissionRepository,
|
||||||
} from '../data/repositories.js';
|
} from '../data/repositories.js';
|
||||||
import { Group } from '../entities/assignments/group.entity.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 { 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> {
|
export async function getGroup(classId: string, assignmentNumber: number, groupNumber: number, full: boolean): Promise<GroupDTO | null> {
|
||||||
const classRepository = getClassRepository();
|
const classRepository = getClassRepository();
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import { getClassRepository, getGroupRepository, getStudentRepository, getSubmissionRepository } from '../data/repositories.js';
|
import { getClassRepository, getGroupRepository, getStudentRepository, getSubmissionRepository } from '../data/repositories.js';
|
||||||
import { mapToClassDTO } from '../interfaces/class.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 { mapToStudent, mapToStudentDTO, StudentDTO } from '../interfaces/student.js';
|
||||||
import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js';
|
import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js';
|
||||||
import { getAllAssignments } from './assignments.js';
|
import { getAllAssignments } from './assignments.js';
|
||||||
import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment';
|
import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment';
|
||||||
import { ClassDTO } from 'dwengo-1-common/src/interfaces/class';
|
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[]> {
|
export async function getAllStudents(full: boolean): Promise<StudentDTO[] | string[]> {
|
||||||
const studentRepository = getStudentRepository();
|
const studentRepository = getStudentRepository();
|
||||||
|
|
2
common/src/interfaces/assignment.d.ts
vendored
2
common/src/interfaces/assignment.d.ts
vendored
|
@ -1,4 +1,4 @@
|
||||||
import { GroupDTO } from 'dwengo-1-backend/src/interfaces/group.js';
|
import { GroupDTO } from './group';
|
||||||
|
|
||||||
export interface AssignmentDTO {
|
export interface AssignmentDTO {
|
||||||
id: number;
|
id: number;
|
||||||
|
|
7
common/src/interfaces/group.d.ts
vendored
Normal file
7
common/src/interfaces/group.d.ts
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
import { AssignmentDTO } from './assignment';
|
||||||
|
|
||||||
|
export interface GroupDTO {
|
||||||
|
assignment: number | AssignmentDTO;
|
||||||
|
groupNumber: number;
|
||||||
|
members: string[] | StudentDTO[];
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue