trpc stuff

This commit is contained in:
2024-11-08 11:41:20 -07:00
parent 9503b208d2
commit 95d758210c
13 changed files with 213 additions and 73 deletions

View File

@@ -1,38 +1,65 @@
"use client";
import { trpc } from "@/services/trpc/utils";
import {
getAllItemsQueryConfig,
getItemQueryConfig,
useCreateItemMutation,
useDeleteItemMutation,
useItemQuery,
useItemsQueries,
useUpdateItemMutation,
} from "./courseItemHooks";
import { useCourseContext } from "@/app/course/[courseName]/context/courseContext";
export const getAllAssignmentsQueryConfig = (
courseName: string,
moduleName: string
) => getAllItemsQueryConfig(courseName, moduleName, "Assignment");
// export const getAllAssignmentsQueryConfig = (
// courseName: string,
// moduleName: string
// ) => getAllItemsQueryConfig(courseName, moduleName, "Assignment");
export const getAssignmentQueryConfig = (
courseName: string,
moduleName: string,
assignmentName: string
) => getItemQueryConfig(courseName, moduleName, assignmentName, "Assignment");
// export const getAssignmentQueryConfig = (
// courseName: string,
// moduleName: string,
// assignmentName: string
// ) => getItemQueryConfig(courseName, moduleName, assignmentName, "Assignment");
export const useAssignmentQuery = (
moduleName: string,
assignmentName: string
) => useItemQuery(moduleName, assignmentName, "Assignment");
) => {
const { courseName } = useCourseContext();
return trpc.assignment.getAssignment.useSuspenseQuery({
moduleName,
courseName,
assignmentName,
});
};
export const useAssignmentsQueries = (moduleName: string) =>
useItemsQueries(moduleName, "Assignment");
export const useAssignmentsQuery = (moduleName: string) => {
const { courseName } = useCourseContext();
return trpc.assignment.getAllAssignments.useSuspenseQuery({
moduleName,
courseName,
});
};
// useItemsQueries(moduleName, "Assignment");
export const useUpdateAssignmentMutation = () =>
useUpdateItemMutation("Assignment");
export const useCreateAssignmentMutation = () =>
useCreateItemMutation("Assignment");
export const useCreateAssignmentMutation = ({
courseName,
moduleName,
}: {
courseName: string;
moduleName: string;
}) => {
const utils = trpc.useUtils();
return trpc.assignment.createAssignment.useMutation({
onSuccess: () => {
utils.assignment.getAllAssignments.invalidate({ courseName, moduleName });
},
});
};
// useCreateItemMutation("Assignment");
export const useDeleteAssignmentMutation = () =>
useDeleteItemMutation("Assignment");