prevent lectures from dropping on each other

This commit is contained in:
2024-11-02 13:17:36 -06:00
parent b5dc579411
commit 14003d52c9
9 changed files with 212 additions and 67 deletions

View File

@@ -6,6 +6,7 @@ import {
import { lectureKeys } from "./lectureKeys";
import { useCourseContext } from "@/app/course/[courseName]/context/courseContext";
import {
deleteLecture,
getLectures,
updateLecture,
} from "@/services/fileStorage/lectureFileStorageService";
@@ -28,8 +29,18 @@ export const useLectureUpdateMutation = () => {
const { data: settings } = useLocalCourseSettingsQuery();
const queryClient = useQueryClient();
return useMutation({
mutationFn: async (lecture: Lecture) => {
mutationFn: async ({
lecture,
previousDay,
}: {
lecture: Lecture;
previousDay?: string;
}) => {
await updateLecture(courseName, settings, lecture);
if (previousDay && previousDay !== lecture.date) {
await deleteLecture(courseName, settings, previousDay);
}
},
onSuccess: () => {
queryClient.invalidateQueries({