fix: submissions en assignments veiliger opvragen
This commit is contained in:
parent
7d80c8bdc1
commit
4a7b321b53
1 changed files with 14 additions and 10 deletions
|
@ -4,9 +4,10 @@ import { NotFoundException } from '../exceptions/not-found-exception.js';
|
||||||
import { mapToSubmission, mapToSubmissionDTO } from '../interfaces/submission.js';
|
import { mapToSubmission, mapToSubmissionDTO } from '../interfaces/submission.js';
|
||||||
import { SubmissionDTO } from '@dwengo-1/common/interfaces/submission';
|
import { SubmissionDTO } from '@dwengo-1/common/interfaces/submission';
|
||||||
import { fetchStudent } from './students.js';
|
import { fetchStudent } from './students.js';
|
||||||
import { getExistingGroupFromGroupDTO } from './groups.js';
|
import { fetchGroup, getExistingGroupFromGroupDTO } from './groups.js';
|
||||||
import { Submission } from '../entities/assignments/submission.entity.js';
|
import { Submission } from '../entities/assignments/submission.entity.js';
|
||||||
import { Language } from '@dwengo-1/common/util/language';
|
import { Language } from '@dwengo-1/common/util/language';
|
||||||
|
import { fetchAssignment } from './assignments.js';
|
||||||
|
|
||||||
export async function fetchSubmission(loId: LearningObjectIdentifier, submissionNumber: number): Promise<Submission> {
|
export async function fetchSubmission(loId: LearningObjectIdentifier, submissionNumber: number): Promise<Submission> {
|
||||||
const submissionRepository = getSubmissionRepository();
|
const submissionRepository = getSubmissionRepository();
|
||||||
|
@ -64,15 +65,18 @@ export async function getSubmissionsForLearningObjectAndAssignment(
|
||||||
groupId?: number
|
groupId?: number
|
||||||
): Promise<SubmissionDTO[]> {
|
): Promise<SubmissionDTO[]> {
|
||||||
const loId = new LearningObjectIdentifier(learningObjectHruid, language, version);
|
const loId = new LearningObjectIdentifier(learningObjectHruid, language, version);
|
||||||
const assignment = await getAssignmentRepository().findByClassIdAndAssignmentId(classId, assignmentId);
|
|
||||||
|
|
||||||
let submissions: Submission[];
|
try {
|
||||||
if (groupId !== undefined) {
|
let submissions: Submission[];
|
||||||
const group = await getGroupRepository().findByAssignmentAndGroupNumber(assignment!, groupId);
|
if (groupId !== undefined) {
|
||||||
submissions = await getSubmissionRepository().findAllSubmissionsForLearningObjectAndGroup(loId, group!);
|
const group = await fetchGroup(classId, assignmentId, groupId!);
|
||||||
} else {
|
submissions = await getSubmissionRepository().findAllSubmissionsForLearningObjectAndGroup(loId, group!);
|
||||||
submissions = await getSubmissionRepository().findAllSubmissionsForLearningObjectAndAssignment(loId, assignment!);
|
} else {
|
||||||
|
const assignment = await fetchAssignment(classId, assignmentId);
|
||||||
|
submissions = await getSubmissionRepository().findAllSubmissionsForLearningObjectAndAssignment(loId, assignment!);
|
||||||
|
}
|
||||||
|
return submissions.map((s) => mapToSubmissionDTO(s));
|
||||||
|
} catch(e) {
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
return submissions.map((s) => mapToSubmissionDTO(s));
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue