mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 23:58:31 -06:00
refactoring quiz data fetching to simplify
This commit is contained in:
@@ -33,8 +33,15 @@ export async function getAllItemsFromServer<T extends CourseItemType>({
|
||||
);
|
||||
return quizzes as CourseItemReturnType<T>[];
|
||||
}
|
||||
const pages = await fileStorageService.pages.getPages(courseName, moduleName);
|
||||
return pages as CourseItemReturnType<T>[];
|
||||
if (type === "Page") {
|
||||
const pages = await fileStorageService.pages.getPages(
|
||||
courseName,
|
||||
moduleName
|
||||
);
|
||||
return pages as CourseItemReturnType<T>[];
|
||||
}
|
||||
|
||||
throw Error(`cannot get item from server, invalid type: ${type}`)
|
||||
}
|
||||
|
||||
export async function getItemFromServer<T extends CourseItemType>({
|
||||
|
||||
@@ -7,7 +7,6 @@ import {
|
||||
} from "@tanstack/react-query";
|
||||
import { localCourseKeys } from "./localCourseKeys";
|
||||
import { getAllAssignmentsQueryConfig } from "./assignmentHooks";
|
||||
import { getAllQuizzesQueryConfig } from "./quizHooks";
|
||||
import { getAllItemsQueryConfig } from "./courseItemHooks";
|
||||
import {
|
||||
createModuleOnServer,
|
||||
@@ -39,36 +38,6 @@ export const useCreateModuleMutation = () => {
|
||||
});
|
||||
};
|
||||
|
||||
// // dangerous? really slowed down page...
|
||||
// // maybe it only slowed down with react query devtools...
|
||||
// export const useModuleDataQuery = (moduleName: string) => {
|
||||
// console.log("running");
|
||||
// const { data: assignmentNames } = useAssignmentNamesQuery(moduleName);
|
||||
// const { data: quizNames } = useQuizNamesQuery(moduleName);
|
||||
// const { data: pageNames } = usePageNamesQuery(moduleName);
|
||||
|
||||
// const { data: assignments } = useAssignmentsQueries(
|
||||
// moduleName,
|
||||
// assignmentNames
|
||||
// );
|
||||
// const { data: quizzes } = useQuizzesQueries(moduleName, quizNames);
|
||||
// const { data: pages } = usePagesQueries(moduleName, pageNames);
|
||||
|
||||
// return {
|
||||
// assignments,
|
||||
// quizzes,
|
||||
// pages,
|
||||
// };
|
||||
// // return useMemo(
|
||||
// // () => ({
|
||||
// // assignments,
|
||||
// // quizzes,
|
||||
// // pages,
|
||||
// // }),
|
||||
// // [assignments, pages, quizzes]
|
||||
// // );
|
||||
// };
|
||||
|
||||
export const useAllCourseDataQuery = () => {
|
||||
const { courseName } = useCourseContext();
|
||||
const { data: moduleNames } = useModuleNamesQuery();
|
||||
@@ -90,7 +59,7 @@ export const useAllCourseDataQuery = () => {
|
||||
|
||||
const { data: quizzesAndModules } = useSuspenseQueries({
|
||||
queries: moduleNames.map((moduleName) =>
|
||||
getAllQuizzesQueryConfig(courseName, moduleName)
|
||||
getAllItemsQueryConfig(courseName, moduleName, "Quiz")
|
||||
),
|
||||
combine: (results) => ({
|
||||
data: results.flatMap((r, i) =>
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
getAllItemsQueryConfig,
|
||||
getItemQueryConfig,
|
||||
useCreateItemMutation,
|
||||
useDeleteItemMutation,
|
||||
useItemQuery,
|
||||
useItemsQueries,
|
||||
useUpdateItemMutation,
|
||||
} from "./courseItemHooks";
|
||||
|
||||
export function getAllQuizzesQueryConfig(
|
||||
courseName: string,
|
||||
moduleName: string
|
||||
) {
|
||||
return getAllItemsQueryConfig(courseName, moduleName, "Quiz");
|
||||
}
|
||||
|
||||
export function getQuizQueryConfig(
|
||||
courseName: string,
|
||||
moduleName: string,
|
||||
quizName: string
|
||||
) {
|
||||
return getItemQueryConfig(courseName, moduleName, quizName, "Quiz");
|
||||
}
|
||||
|
||||
export const useQuizQuery = (moduleName: string, quizName: string) =>
|
||||
useItemQuery(moduleName, quizName, "Quiz");
|
||||
|
||||
export const useQuizzesQueries = (moduleName: string) =>
|
||||
useItemsQueries(moduleName, "Quiz");
|
||||
|
||||
export const useUpdateQuizMutation = () => useUpdateItemMutation("Quiz")
|
||||
|
||||
export const useCreateQuizMutation = () => useCreateItemMutation("Quiz")
|
||||
|
||||
export const useDeleteQuizMutation = () =>
|
||||
useDeleteItemMutation("Quiz");
|
||||
Reference in New Issue
Block a user