feat: submission route post delete

This commit is contained in:
Gabriellvl 2025-03-13 16:45:59 +01:00
parent 911e17771f
commit d9eb8def72
6 changed files with 100 additions and 17 deletions

View file

@ -1,7 +1,7 @@
import { getSubmissionRepository } from "../data/repositories.js";
import {getGroupRepository, getSubmissionRepository} from "../data/repositories.js";
import { Language } from "../entities/content/language.js";
import { LearningObjectIdentifier } from "../entities/content/learning-object-identifier.js";
import { mapToSubmissionDTO, SubmissionDTO } from "../interfaces/submission.js";
import {mapToSubmission, mapToSubmissionDTO, SubmissionDTO} from "../interfaces/submission.js";
export async function getSubmission(
learningObjectHruid: string,
@ -20,3 +20,38 @@ export async function getSubmission(
return mapToSubmissionDTO(submission);
}
export async function createSubmission(submissionDTO: SubmissionDTO) {
const submissionRepository = getSubmissionRepository();
const submission = mapToSubmission(submissionDTO);
try {
const newSubmission = await submissionRepository.create(submission);
await submissionRepository.save(newSubmission);
} catch (e) {
return null
}
return submission;
}
export async function deleteSubmission(
learningObjectHruid: string,
language: Language,
version: string,
submissionNumber: number
) {
const submissionRepository = getSubmissionRepository();
const submission = getSubmission(learningObjectHruid, language, version, submissionNumber);
if (!submission)
return null
const loId = new LearningObjectIdentifier(learningObjectHruid, language, version);
await submissionRepository.deleteSubmissionByLearningObjectAndSubmissionNumber(loId, submissionNumber);
return submission;
}