diff --git a/backend/src/controllers/submissions.ts b/backend/src/controllers/submissions.ts index 512ac22e..9ef2df6e 100644 --- a/backend/src/controllers/submissions.ts +++ b/backend/src/controllers/submissions.ts @@ -1,7 +1,8 @@ import { Request, Response } from 'express'; import { createSubmission, deleteSubmission, getSubmission } from '../services/submissions.js'; import { Language, languageMap } from '../entities/content/language.js'; -import { SubmissionDTO } from '../interfaces/submission'; + +import { SubmissionDTO } from 'dwengo-1-common/src/interfaces/submission'; interface SubmissionParams { hruid: string; diff --git a/backend/src/interfaces/submission.ts b/backend/src/interfaces/submission.ts index 95afee70..9a506b27 100644 --- a/backend/src/interfaces/submission.ts +++ b/backend/src/interfaces/submission.ts @@ -1,27 +1,7 @@ import { Submission } from '../entities/assignments/submission.entity.js'; -import { Language } from '../entities/content/language.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; - - submissionNumber?: number; - submitter: StudentDTO; - time?: Date; - group?: GroupDTO; - content: string; -} - -export interface SubmissionDTOId { - learningObjectHruid: string; - learningObjectLanguage: Language; - learningObjectVersion: number; - - submissionNumber?: number; -} +import { mapToStudent, mapToStudentDTO } from './student.js'; +import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; export function mapToSubmissionDTO(submission: Submission): SubmissionDTO { return { diff --git a/backend/src/services/assignments.ts b/backend/src/services/assignments.ts index 0d8807c5..278098bd 100644 --- a/backend/src/services/assignments.ts +++ b/backend/src/services/assignments.ts @@ -1,7 +1,8 @@ import { getAssignmentRepository, getClassRepository, getGroupRepository, getSubmissionRepository } from '../data/repositories.js'; import { mapToAssignment, mapToAssignmentDTO, mapToAssignmentDTOId } from '../interfaces/assignment.js'; -import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js'; +import { mapToSubmissionDTO, mapToSubmissionDTOId } from '../interfaces/submission.js'; import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment'; +import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; export async function getAllAssignments(classid: string, full: boolean): Promise { const classRepository = getClassRepository(); diff --git a/backend/src/services/groups.ts b/backend/src/services/groups.ts index df8f02b7..42c51c20 100644 --- a/backend/src/services/groups.ts +++ b/backend/src/services/groups.ts @@ -7,8 +7,9 @@ import { } from '../data/repositories.js'; import { Group } from '../entities/assignments/group.entity.js'; import { mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js'; -import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js'; +import { mapToSubmissionDTO, mapToSubmissionDTOId } from '../interfaces/submission.js'; import { GroupDTO } from 'dwengo-1-common/src/interfaces/group'; +import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; export async function getGroup(classId: string, assignmentNumber: number, groupNumber: number, full: boolean): Promise { const classRepository = getClassRepository(); diff --git a/backend/src/services/students.ts b/backend/src/services/students.ts index b8ab4650..f8d92486 100644 --- a/backend/src/services/students.ts +++ b/backend/src/services/students.ts @@ -2,11 +2,12 @@ import { getClassRepository, getGroupRepository, getStudentRepository, getSubmis import { mapToClassDTO } from '../interfaces/class.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 { mapToSubmissionDTO, mapToSubmissionDTOId } 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'; +import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; export async function getAllStudents(full: boolean): Promise { const studentRepository = getStudentRepository(); diff --git a/backend/src/services/submissions.ts b/backend/src/services/submissions.ts index 0e1ad9ac..0fa9811d 100644 --- a/backend/src/services/submissions.ts +++ b/backend/src/services/submissions.ts @@ -1,7 +1,8 @@ import { getGroupRepository, getSubmissionRepository } from '../data/repositories.js'; import { Language } from '../entities/content/language.js'; import { LearningObjectIdentifier } from '../entities/content/learning-object-identifier.js'; -import { mapToSubmission, mapToSubmissionDTO, SubmissionDTO } from '../interfaces/submission.js'; +import { mapToSubmission, mapToSubmissionDTO } from '../interfaces/submission.js'; +import { SubmissionDTO } from 'dwengo-1-common/src/interfaces/submission'; export async function getSubmission( learningObjectHruid: string, diff --git a/common/src/interfaces/submission.d.ts b/common/src/interfaces/submission.d.ts new file mode 100644 index 00000000..c4c2b35d --- /dev/null +++ b/common/src/interfaces/submission.d.ts @@ -0,0 +1,19 @@ +import { GroupDTO } from './group'; + +export interface SubmissionDTO { + learningObjectIdentifier: LearningObjectIdentifier; + + submissionNumber?: number; + submitter: StudentDTO; + time?: Date; + group?: GroupDTO; + content: string; +} + +export interface SubmissionDTOId { + learningObjectHruid: string; + learningObjectLanguage: Language; + learningObjectVersion: number; + + submissionNumber?: number; +}