fix/refactor: cache keys gefixt, useMutation argumenten rerefactord
This commit is contained in:
parent
75f1ff013b
commit
7bee08537a
4 changed files with 104 additions and 54 deletions
|
@ -1,6 +1,6 @@
|
|||
import { SubmissionController, type SubmissionResponse, type SubmissionsResponse } from "@/controllers/submissions";
|
||||
import type { SubmissionDTO } from "@dwengo-1/common/interfaces/submission";
|
||||
import { useMutation, useQuery, useQueryClient, type UseMutationReturnType, type UseQueryReturnType } from "@tanstack/vue-query";
|
||||
import { QueryClient, useMutation, useQuery, useQueryClient, type UseMutationReturnType, type UseQueryReturnType } from "@tanstack/vue-query";
|
||||
import { computed, toValue, type MaybeRefOrGetter } from "vue";
|
||||
|
||||
function submissionsQueryKey(classid: string, assignmentNumber: number, groupNumber: number, full: boolean) {
|
||||
|
@ -10,6 +10,25 @@ function submissionQueryKey(classid: string, assignmentNumber: number, groupNumb
|
|||
return [ "submission", classid, assignmentNumber, groupNumber, submissionNumber ];
|
||||
}
|
||||
|
||||
export async function invalidateAllSubmissionKeys(
|
||||
queryClient: QueryClient,
|
||||
classid?: string,
|
||||
assignmentNumber?: number,
|
||||
groupNumber?: number,
|
||||
submissionNumber?: number,
|
||||
) {
|
||||
const keys = [
|
||||
"submission",
|
||||
];
|
||||
|
||||
for (let key of keys) {
|
||||
const queryKey = [key, classid, assignmentNumber, groupNumber, submissionNumber].filter(arg => arg !== undefined);
|
||||
await queryClient.invalidateQueries({ queryKey: queryKey });
|
||||
}
|
||||
|
||||
await queryClient.invalidateQueries({ queryKey: [ "submissions", classid, assignmentNumber, groupNumber ].filter(arg => arg !== undefined) });
|
||||
}
|
||||
|
||||
function checkEnabled(
|
||||
classid: string | undefined,
|
||||
assignmentNumber: number | undefined,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue