45 lines
1.9 KiB
TypeScript
45 lines
1.9 KiB
TypeScript
import { Submission } from '../entities/assignments/submission.entity.js';
|
|
import { mapToGroupDTO } from './group.js';
|
|
import { mapToStudent, mapToStudentDTO } from './student.js';
|
|
import { SubmissionDTO, SubmissionDTOId } from '@dwengo-1/common/interfaces/submission';
|
|
|
|
export function mapToSubmissionDTO(submission: Submission): SubmissionDTO {
|
|
return {
|
|
learningObjectIdentifier: {
|
|
hruid: submission.learningObjectHruid,
|
|
language: submission.learningObjectLanguage,
|
|
version: submission.learningObjectVersion,
|
|
},
|
|
|
|
submissionNumber: submission.submissionNumber,
|
|
submitter: mapToStudentDTO(submission.submitter),
|
|
time: submission.submissionTime,
|
|
group: submission.onBehalfOf ? mapToGroupDTO(submission.onBehalfOf) : undefined,
|
|
content: submission.content,
|
|
};
|
|
}
|
|
|
|
export function mapToSubmissionDTOId(submission: Submission): SubmissionDTOId {
|
|
return {
|
|
learningObjectHruid: submission.learningObjectHruid,
|
|
learningObjectLanguage: submission.learningObjectLanguage,
|
|
learningObjectVersion: submission.learningObjectVersion,
|
|
|
|
submissionNumber: submission.submissionNumber,
|
|
};
|
|
}
|
|
|
|
export function mapToSubmission(submissionDTO: SubmissionDTO): Submission {
|
|
const submission = new Submission();
|
|
submission.learningObjectHruid = submissionDTO.learningObjectIdentifier.hruid;
|
|
submission.learningObjectLanguage = submissionDTO.learningObjectIdentifier.language;
|
|
submission.learningObjectVersion = submissionDTO.learningObjectIdentifier.version!;
|
|
// Submission.submissionNumber = submissionDTO.submissionNumber;
|
|
submission.submitter = mapToStudent(submissionDTO.submitter);
|
|
// Submission.submissionTime = submissionDTO.time;
|
|
// Submission.onBehalfOf = submissionDTO.group!;
|
|
// TODO fix group
|
|
submission.content = submissionDTO.content;
|
|
|
|
return submission;
|
|
}
|