mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 15:48:32 -06:00
consolodating types
This commit is contained in:
@@ -15,7 +15,7 @@ export const getAllAssignmentsQueryConfig = (
|
||||
courseName: string,
|
||||
moduleName: string
|
||||
) => ({
|
||||
queryKey: localCourseKeys.allAssignments(courseName, moduleName),
|
||||
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, "Assignment"),
|
||||
queryFn: async (): Promise<LocalAssignment[]> => {
|
||||
const url =
|
||||
"/api/courses/" +
|
||||
@@ -39,10 +39,11 @@ export const getAssignmentQueryConfig = (
|
||||
assignmentName: string
|
||||
) => {
|
||||
return {
|
||||
queryKey: localCourseKeys.assignment(
|
||||
queryKey: localCourseKeys.itemOfType(
|
||||
courseName,
|
||||
moduleName,
|
||||
assignmentName
|
||||
assignmentName,
|
||||
"Assignment"
|
||||
),
|
||||
queryFn: async () => {
|
||||
const url =
|
||||
@@ -105,22 +106,29 @@ export const useUpdateAssignmentMutation = () => {
|
||||
previousModuleName !== moduleName
|
||||
) {
|
||||
queryClient.removeQueries({
|
||||
queryKey: localCourseKeys.assignment(
|
||||
queryKey: localCourseKeys.itemOfType(
|
||||
courseName,
|
||||
previousModuleName,
|
||||
previousAssignmentName
|
||||
previousAssignmentName,
|
||||
"Assignment"
|
||||
),
|
||||
});
|
||||
queryClient.removeQueries({
|
||||
queryKey: localCourseKeys.allAssignments(
|
||||
queryKey: localCourseKeys.allItemsOfType(
|
||||
courseName,
|
||||
previousModuleName
|
||||
previousModuleName,
|
||||
"Assignment"
|
||||
),
|
||||
});
|
||||
}
|
||||
|
||||
queryClient.setQueryData(
|
||||
localCourseKeys.assignment(courseName, moduleName, assignmentName),
|
||||
localCourseKeys.itemOfType(
|
||||
courseName,
|
||||
moduleName,
|
||||
assignmentName,
|
||||
"Assignment"
|
||||
),
|
||||
assignment
|
||||
);
|
||||
const url =
|
||||
@@ -138,13 +146,14 @@ export const useUpdateAssignmentMutation = () => {
|
||||
},
|
||||
onSuccess: async (_, { moduleName, assignmentName }) => {
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: localCourseKeys.allAssignments(courseName, moduleName),
|
||||
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, "Assignment"),
|
||||
});
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: localCourseKeys.assignment(
|
||||
queryKey: localCourseKeys.itemOfType(
|
||||
courseName,
|
||||
moduleName,
|
||||
assignmentName
|
||||
assignmentName,
|
||||
"Assignment"
|
||||
),
|
||||
});
|
||||
},
|
||||
@@ -165,7 +174,12 @@ export const useCreateAssignmentMutation = () => {
|
||||
assignmentName: string;
|
||||
}) => {
|
||||
queryClient.setQueryData(
|
||||
localCourseKeys.assignment(courseName, moduleName, assignmentName),
|
||||
localCourseKeys.itemOfType(
|
||||
courseName,
|
||||
moduleName,
|
||||
assignmentName,
|
||||
"Assignment"
|
||||
),
|
||||
assignment
|
||||
);
|
||||
const url =
|
||||
@@ -179,13 +193,14 @@ export const useCreateAssignmentMutation = () => {
|
||||
},
|
||||
onSuccess: async (_, { moduleName, assignmentName }) => {
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: localCourseKeys.allAssignments(courseName, moduleName),
|
||||
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, "Assignment"),
|
||||
});
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: localCourseKeys.assignment(
|
||||
queryKey: localCourseKeys.itemOfType(
|
||||
courseName,
|
||||
moduleName,
|
||||
assignmentName
|
||||
assignmentName,
|
||||
"Assignment"
|
||||
),
|
||||
});
|
||||
},
|
||||
@@ -204,14 +219,15 @@ export const useDeleteAssignmentMutation = () => {
|
||||
assignmentName: string;
|
||||
}) => {
|
||||
queryClient.removeQueries({
|
||||
queryKey: localCourseKeys.assignment(
|
||||
queryKey: localCourseKeys.itemOfType(
|
||||
courseName,
|
||||
moduleName,
|
||||
assignmentName
|
||||
assignmentName,
|
||||
"Assignment"
|
||||
),
|
||||
});
|
||||
queryClient.removeQueries({
|
||||
queryKey: localCourseKeys.allAssignments(courseName, moduleName),
|
||||
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, "Assignment"),
|
||||
});
|
||||
const url =
|
||||
"/api/courses/" +
|
||||
@@ -224,7 +240,7 @@ export const useDeleteAssignmentMutation = () => {
|
||||
},
|
||||
onSuccess: async (_, { moduleName, assignmentName }) => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: localCourseKeys.allAssignments(courseName, moduleName),
|
||||
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, "Assignment"),
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { CourseItemType, typeToFolder } from "@/models/local/courseItemTypes";
|
||||
|
||||
export const localCourseKeys = {
|
||||
allCoursesSettings: ["all courses settings"] as const,
|
||||
allCoursesNames: ["all courses names"] as const,
|
||||
@@ -10,14 +12,32 @@ export const localCourseKeys = {
|
||||
"modules",
|
||||
{ type: "names" } as const,
|
||||
] as const,
|
||||
allAssignments: (courseName: string, moduleName: string) =>
|
||||
allItemsOfType: (
|
||||
courseName: string,
|
||||
moduleName: string,
|
||||
type: CourseItemType
|
||||
) =>
|
||||
[
|
||||
"course details",
|
||||
courseName,
|
||||
"modules",
|
||||
moduleName,
|
||||
"assignments",
|
||||
{ type: "all assignments" },
|
||||
typeToFolder[type],
|
||||
{ type: "all" },
|
||||
] as const,
|
||||
itemOfType: (
|
||||
courseName: string,
|
||||
moduleName: string,
|
||||
name: string,
|
||||
type: CourseItemType
|
||||
) =>
|
||||
[
|
||||
"course details",
|
||||
courseName,
|
||||
"modules",
|
||||
moduleName,
|
||||
typeToFolder[type],
|
||||
name,
|
||||
] as const,
|
||||
allQuizzes: (courseName: string, moduleName: string) =>
|
||||
[
|
||||
@@ -26,7 +46,7 @@ export const localCourseKeys = {
|
||||
"modules",
|
||||
moduleName,
|
||||
"quizzes",
|
||||
{ type: "all quizzes" },
|
||||
{ type: "all" },
|
||||
] as const,
|
||||
allPages: (courseName: string, moduleName: string) =>
|
||||
[
|
||||
@@ -35,20 +55,7 @@ export const localCourseKeys = {
|
||||
"modules",
|
||||
moduleName,
|
||||
"pages",
|
||||
{ type: "all pages" },
|
||||
] as const,
|
||||
assignment: (
|
||||
courseName: string,
|
||||
moduleName: string,
|
||||
assignmentName: string
|
||||
) =>
|
||||
[
|
||||
"course details",
|
||||
courseName,
|
||||
"modules",
|
||||
moduleName,
|
||||
"assignments",
|
||||
assignmentName,
|
||||
{ type: "all" },
|
||||
] as const,
|
||||
quiz: (courseName: string, moduleName: string, quizName: string) =>
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user