Merge branch 'fix/questions-toon-enkel-groep' of https://github.com/SELab-2/Dwengo-1 into fix/questions-toon-enkel-groep

This commit is contained in:
Gerald Schmittinger 2025-05-20 13:26:43 +02:00
commit 85221b4cfe
3 changed files with 14 additions and 9 deletions

View file

@ -34,15 +34,15 @@ export const onlyAllowIfHasAccessToSubmission = authorize(async (auth: Authentic
});
export const onlyAllowIfHasAccessToSubmissionFromParams = authorize(async (auth: AuthenticationInfo, req: AuthenticatedRequest) => {
const { classId, assignmentId, groupId } = req.query;
const { classId, assignmentId, forGroup } = req.query;
requireFields({ classId, assignmentId, groupId });
requireFields({ classId, assignmentId, forGroup });
if (auth.accountType === AccountType.Teacher) {
const cls = await fetchClass(classId as string);
return cls.teachers.map(mapToUsername).includes(auth.username);
}
const group = await fetchGroup(classId as string, Number(assignmentId as string), Number(groupId as string));
const group = await fetchGroup(classId as string, Number(assignmentId as string), Number(forGroup as string));
return group.members.map(mapToUsername).includes(auth.username);
});

View file

@ -1,7 +1,7 @@
<script setup lang="ts">
import authService from "@/services/auth/auth-service.ts";
import { computed, type ComputedRef, ref } from "vue";
import type { GroupDTOId } from "@dwengo-1/common/interfaces/group";
import type { GroupDTOId } from "@dwengo-1/common/interfaces/group";
import type { QuestionData } from "@dwengo-1/common/interfaces/question";
import type { LearningObjectIdentifierDTO } from "@dwengo-1/interfaces/learning-content";
import { useCreateQuestionMutation } from "@/queries/questions.ts";
@ -29,9 +29,7 @@
}));
const createQuestionMutation = useCreateQuestionMutation(loID);
const showQuestionBox = computed(
() => authService.authState.activeRole === AccountType.Student && props.forGroup,
);
const showQuestionBox = computed(() => authService.authState.activeRole === AccountType.Student && props.forGroup);
function submitQuestion(): void {
if (props.forGroup && questionInput.value !== "") {

View file

@ -23,7 +23,14 @@ export class SubmissionController extends BaseController {
groupId?: number,
full = true,
): Promise<SubmissionsResponse> {
return this.get<SubmissionsResponse>(`/`, { language, version, classId, assignmentId, groupId, full });
return this.get<SubmissionsResponse>(`/`, {
language,
version,
classId,
assignmentId,
forGroup: groupId,
full,
});
}
async getByNumber(
@ -39,7 +46,7 @@ export class SubmissionController extends BaseController {
version,
classId,
assignmentId,
groupId,
forGroup: groupId,
});
}