From 59f6d63377903423c61882a905b2fb0530224a56 Mon Sep 17 00:00:00 2001 From: Gabriellvl Date: Fri, 11 Apr 2025 17:56:14 +0200 Subject: [PATCH] fix: teacher class join request query key --- frontend/src/queries/students.ts | 3 +++ frontend/src/queries/teachers.ts | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/src/queries/students.ts b/frontend/src/queries/students.ts index 5b01e3c5..82c5757a 100644 --- a/frontend/src/queries/students.ts +++ b/frontend/src/queries/students.ts @@ -20,6 +20,7 @@ import type { GroupsResponse } from "@/controllers/groups.ts"; import type { SubmissionsResponse } from "@/controllers/submissions.ts"; import type { QuestionsResponse } from "@/controllers/questions.ts"; import type { StudentDTO } from "@dwengo-1/common/interfaces/student"; +import {teacherClassJoinRequests} from "@/queries/teachers.ts"; const studentController = new StudentController(); @@ -181,6 +182,7 @@ export function useCreateJoinRequestMutation(): UseMutationReturnType< await queryClient.invalidateQueries({ queryKey: studentJoinRequestsQueryKey(newJoinRequest.request.requester.username), }); + await queryClient.invalidateQueries({ queryKey: teacherClassJoinRequests(classId) }); }, }); } @@ -200,6 +202,7 @@ export function useDeleteJoinRequestMutation(): UseMutationReturnType< const classId = deletedJoinRequest.request.class; await queryClient.invalidateQueries({ queryKey: studentJoinRequestsQueryKey(username) }); await queryClient.invalidateQueries({ queryKey: studentJoinRequestQueryKey(username, classId) }); + await queryClient.invalidateQueries({ queryKey: teacherClassJoinRequests(classId) }); }, }); } diff --git a/frontend/src/queries/teachers.ts b/frontend/src/queries/teachers.ts index 50d61f6c..3e77f819 100644 --- a/frontend/src/queries/teachers.ts +++ b/frontend/src/queries/teachers.ts @@ -37,6 +37,10 @@ function teacherQuestionsQueryKey(username: string, full: boolean): [string, str return ["teacher-questions", username, full]; } +export function teacherClassJoinRequests(classId: string): [string, string] { + return ["teacher-class-join-requests", classId]; +} + export function useTeachersQuery(full: MaybeRefOrGetter = false): UseQueryReturnType { return useQuery({ queryKey: computed(() => teachersQueryKey(toValue(full))), @@ -92,7 +96,7 @@ export function useTeacherJoinRequestsQuery( classId: MaybeRefOrGetter, ): UseQueryReturnType { return useQuery({ - queryKey: computed(() => JOIN_REQUESTS_QUERY_KEY(toValue(username)!, toValue(classId)!)), + queryKey: computed(() => teacherClassJoinRequests(toValue(classId)!)), queryFn: async () => teacherController.getStudentJoinRequests(toValue(username)!, toValue(classId)!), enabled: () => Boolean(toValue(username)) && Boolean(toValue(classId)), }); @@ -137,6 +141,7 @@ export function useUpdateJoinRequestMutation(): UseMutationReturnType< const classId = deletedJoinRequest.request.class; await queryClient.invalidateQueries({ queryKey: studentJoinRequestsQueryKey(username) }); await queryClient.invalidateQueries({ queryKey: studentJoinRequestQueryKey(username, classId) }); + await queryClient.invalidateQueries({ queryKey: teacherClassJoinRequests(classId) }); }, }); }