mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
back to server actions
This commit is contained in:
@@ -1,26 +0,0 @@
|
|||||||
import { fileStorageService } from "@/services/fileStorage/fileStorageService";
|
|
||||||
import { withErrorHandling } from "@/services/withErrorHandling";
|
|
||||||
|
|
||||||
export const GET = async (
|
|
||||||
_request: Request,
|
|
||||||
{ params: { courseName } }: { params: { courseName: string } }
|
|
||||||
) =>
|
|
||||||
await withErrorHandling(async () => {
|
|
||||||
if (courseName.includes(".js.map")) {
|
|
||||||
return Response.json({});
|
|
||||||
}
|
|
||||||
const settings = await fileStorageService.settings.getCourseSettings(courseName);
|
|
||||||
return Response.json(settings);
|
|
||||||
});
|
|
||||||
|
|
||||||
export const PUT = async (
|
|
||||||
request: Request,
|
|
||||||
{ params: { courseName } }: { params: { courseName: string } }
|
|
||||||
) =>
|
|
||||||
await withErrorHandling(async () => {
|
|
||||||
const settings = await request.json();
|
|
||||||
|
|
||||||
await fileStorageService.settings.updateCourseSettings(courseName, settings);
|
|
||||||
|
|
||||||
return Response.json({});
|
|
||||||
});
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
import { LocalCourse } from "@/models/local/localCourse";
|
|
||||||
import { fileStorageService } from "@/services/fileStorage/fileStorageService";
|
|
||||||
import { withErrorHandling } from "@/services/withErrorHandling";
|
|
||||||
|
|
||||||
// replace with get all settings
|
|
||||||
// export const GET = async () =>
|
|
||||||
// await withErrorHandling(async () => {
|
|
||||||
// const courses = await fileStorageService.getCourseNames();
|
|
||||||
// return Response.json(courses);
|
|
||||||
// });
|
|
||||||
|
|
||||||
export const POST = async (request: Request) =>
|
|
||||||
await withErrorHandling(async () => {
|
|
||||||
const newCourse: LocalCourse = await request.json();
|
|
||||||
await fileStorageService.settings.updateCourseSettings(
|
|
||||||
newCourse.settings.name,
|
|
||||||
newCourse.settings
|
|
||||||
);
|
|
||||||
return Response.json({});
|
|
||||||
});
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import { fileStorageService } from "@/services/fileStorage/fileStorageService";
|
|
||||||
import { withErrorHandling } from "@/services/withErrorHandling";
|
|
||||||
|
|
||||||
export const GET = async () =>
|
|
||||||
await withErrorHandling(async () => {
|
|
||||||
const settings = await fileStorageService.settings.getAllCoursesSettings();
|
|
||||||
|
|
||||||
return Response.json(settings);
|
|
||||||
});
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import { fileStorageService } from "@/services/fileStorage/fileStorageService";
|
|
||||||
import { withErrorHandling } from "@/services/withErrorHandling";
|
|
||||||
|
|
||||||
// export const GET = async () =>
|
|
||||||
// await withErrorHandling(async () => {
|
|
||||||
// const directories = await fileStorageService.getEmptyDirectories();
|
|
||||||
// return Response.json(directories);
|
|
||||||
// });
|
|
||||||
|
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
import { axiosClient } from "@/services/axiosUtils";
|
|
||||||
import { localCourseKeys } from "./localCourseKeys";
|
import { localCourseKeys } from "./localCourseKeys";
|
||||||
import {
|
import {
|
||||||
CourseItemReturnType,
|
CourseItemReturnType,
|
||||||
CourseItemType,
|
CourseItemType,
|
||||||
typeToFolder,
|
|
||||||
} from "@/models/local/courseItemTypes";
|
} from "@/models/local/courseItemTypes";
|
||||||
import { useCourseContext } from "@/app/course/[courseName]/context/courseContext";
|
import { useCourseContext } from "@/app/course/[courseName]/context/courseContext";
|
||||||
import {
|
import {
|
||||||
@@ -19,7 +17,6 @@ import {
|
|||||||
getItemFromServer,
|
getItemFromServer,
|
||||||
updateItemOnServer,
|
updateItemOnServer,
|
||||||
} from "./courseItemServerActions";
|
} from "./courseItemServerActions";
|
||||||
import { useRouter } from "next/navigation";
|
|
||||||
|
|
||||||
export const getAllItemsQueryConfig = <T extends CourseItemType>(
|
export const getAllItemsQueryConfig = <T extends CourseItemType>(
|
||||||
courseName: string,
|
courseName: string,
|
||||||
@@ -28,15 +25,6 @@ export const getAllItemsQueryConfig = <T extends CourseItemType>(
|
|||||||
) => ({
|
) => ({
|
||||||
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, type),
|
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, type),
|
||||||
queryFn: async (): Promise<CourseItemReturnType<T>[]> => {
|
queryFn: async (): Promise<CourseItemReturnType<T>[]> => {
|
||||||
// const url =
|
|
||||||
// "/api/courses/" +
|
|
||||||
// encodeURIComponent(courseName) +
|
|
||||||
// "/modules/" +
|
|
||||||
// encodeURIComponent(moduleName) +
|
|
||||||
// "/" +
|
|
||||||
// typeToFolder[type];
|
|
||||||
// const response = await axiosClient.get(url);
|
|
||||||
// return response.data;
|
|
||||||
return await getAllItemsFromServer({
|
return await getAllItemsFromServer({
|
||||||
courseName,
|
courseName,
|
||||||
moduleName,
|
moduleName,
|
||||||
@@ -54,17 +42,6 @@ export const getItemQueryConfig = <T extends CourseItemType>(
|
|||||||
return {
|
return {
|
||||||
queryKey: localCourseKeys.itemOfType(courseName, moduleName, name, type),
|
queryKey: localCourseKeys.itemOfType(courseName, moduleName, name, type),
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
// const url =
|
|
||||||
// "/api/courses/" +
|
|
||||||
// encodeURIComponent(courseName) +
|
|
||||||
// "/modules/" +
|
|
||||||
// encodeURIComponent(moduleName) +
|
|
||||||
// "/" +
|
|
||||||
// typeToFolder[type] +
|
|
||||||
// "/" +
|
|
||||||
// encodeURIComponent(name);
|
|
||||||
// const response = await axiosClient.get<CourseItemReturnType<T>>(url);
|
|
||||||
// return response.data;
|
|
||||||
return await getItemFromServer({
|
return await getItemFromServer({
|
||||||
moduleName,
|
moduleName,
|
||||||
courseName,
|
courseName,
|
||||||
@@ -159,33 +136,6 @@ export const useUpdateItemMutation = <T extends CourseItemType>(type: T) => {
|
|||||||
previousModuleName,
|
previousModuleName,
|
||||||
itemName,
|
itemName,
|
||||||
});
|
});
|
||||||
// const url =
|
|
||||||
// "/api/courses/" +
|
|
||||||
// encodeURIComponent(courseName) +
|
|
||||||
// "/modules/" +
|
|
||||||
// encodeURIComponent(moduleName) +
|
|
||||||
// "/" +
|
|
||||||
// typeToFolder[type] +
|
|
||||||
// "/" +
|
|
||||||
// encodeURIComponent(itemName);
|
|
||||||
// if (type === "Assignment")
|
|
||||||
// await axiosClient.put(url, {
|
|
||||||
// assignment: item,
|
|
||||||
// previousModuleName,
|
|
||||||
// previousAssignmentName: previousItemName,
|
|
||||||
// });
|
|
||||||
// if (type === "Quiz")
|
|
||||||
// await axiosClient.put(url, {
|
|
||||||
// quiz: item,
|
|
||||||
// previousModuleName,
|
|
||||||
// previousQuizName: previousItemName,
|
|
||||||
// });
|
|
||||||
// if (type === "Page")
|
|
||||||
// await axiosClient.put(url, {
|
|
||||||
// page: item,
|
|
||||||
// previousModuleName,
|
|
||||||
// previousPageName: previousItemName,
|
|
||||||
// });
|
|
||||||
},
|
},
|
||||||
onSuccess: async (_, { moduleName, itemName }) => {
|
onSuccess: async (_, { moduleName, itemName }) => {
|
||||||
await queryClient.invalidateQueries({
|
await queryClient.invalidateQueries({
|
||||||
@@ -222,16 +172,6 @@ export const useCreateItemMutation = <T extends CourseItemType>(type: T) => {
|
|||||||
localCourseKeys.itemOfType(courseName, moduleName, itemName, type),
|
localCourseKeys.itemOfType(courseName, moduleName, itemName, type),
|
||||||
item
|
item
|
||||||
);
|
);
|
||||||
// const url =
|
|
||||||
// "/api/courses/" +
|
|
||||||
// encodeURIComponent(courseName) +
|
|
||||||
// "/modules/" +
|
|
||||||
// encodeURIComponent(moduleName) +
|
|
||||||
// "/" +
|
|
||||||
// typeToFolder[type] +
|
|
||||||
// "/" +
|
|
||||||
// encodeURIComponent(itemName);
|
|
||||||
// await axiosClient.post(url, item);
|
|
||||||
await createItemOnServer({
|
await createItemOnServer({
|
||||||
courseName,
|
courseName,
|
||||||
moduleName,
|
moduleName,
|
||||||
@@ -267,16 +207,6 @@ export const useDeleteItemMutation = <T extends CourseItemType>(type: T) => {
|
|||||||
moduleName: string;
|
moduleName: string;
|
||||||
itemName: string;
|
itemName: string;
|
||||||
}) => {
|
}) => {
|
||||||
// const url =
|
|
||||||
// "/api/courses/" +
|
|
||||||
// encodeURIComponent(courseName) +
|
|
||||||
// "/modules/" +
|
|
||||||
// encodeURIComponent(moduleName) +
|
|
||||||
// "/" +
|
|
||||||
// typeToFolder[type] +
|
|
||||||
// "/" +
|
|
||||||
// encodeURIComponent(itemName);
|
|
||||||
// await axiosClient.delete(url);
|
|
||||||
await deleteItemOnServer({
|
await deleteItemOnServer({
|
||||||
courseName,
|
courseName,
|
||||||
itemName,
|
itemName,
|
||||||
|
|||||||
@@ -19,9 +19,6 @@ export const useModuleNamesQuery = () => {
|
|||||||
return useSuspenseQuery({
|
return useSuspenseQuery({
|
||||||
queryKey: localCourseKeys.moduleNames(courseName),
|
queryKey: localCourseKeys.moduleNames(courseName),
|
||||||
queryFn: async (): Promise<string[]> => {
|
queryFn: async (): Promise<string[]> => {
|
||||||
// const url = `/api/courses/${courseName}/modules`;
|
|
||||||
// const response = await axiosClient.get(url);
|
|
||||||
// return response.data;
|
|
||||||
return await getModuleNamesFromServer({ courseName });
|
return await getModuleNamesFromServer({ courseName });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -32,9 +29,6 @@ export const useCreateModuleMutation = () => {
|
|||||||
const queryClient = useQueryClient();
|
const queryClient = useQueryClient();
|
||||||
return useMutation({
|
return useMutation({
|
||||||
mutationFn: async (moduleName: string) => {
|
mutationFn: async (moduleName: string) => {
|
||||||
// const url = `/api/courses/${courseName}/modules`;
|
|
||||||
// const response = await axiosClient.post(url, { moduleName });
|
|
||||||
// return response.data;
|
|
||||||
await createModuleOnServer({ courseName, moduleName });
|
await createModuleOnServer({ courseName, moduleName });
|
||||||
},
|
},
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
|
|||||||
@@ -6,12 +6,10 @@ import {
|
|||||||
useSuspenseQuery,
|
useSuspenseQuery,
|
||||||
} from "@tanstack/react-query";
|
} from "@tanstack/react-query";
|
||||||
import { localCourseKeys } from "./localCourseKeys";
|
import { localCourseKeys } from "./localCourseKeys";
|
||||||
import { axiosClient } from "@/services/axiosUtils";
|
|
||||||
import { useCourseContext } from "@/app/course/[courseName]/context/courseContext";
|
import { useCourseContext } from "@/app/course/[courseName]/context/courseContext";
|
||||||
import {
|
import {
|
||||||
createCourseOnServer,
|
createCourseOnServer,
|
||||||
getAllCoursesSettingsFromServer,
|
getAllCoursesSettingsFromServer,
|
||||||
getCourseSettingsFromServer,
|
|
||||||
updateCourseSettingsOnServer,
|
updateCourseSettingsOnServer,
|
||||||
} from "./localCoursesServerActions";
|
} from "./localCoursesServerActions";
|
||||||
|
|
||||||
@@ -19,9 +17,6 @@ export const useLocalCoursesSettingsQuery = () =>
|
|||||||
useSuspenseQuery({
|
useSuspenseQuery({
|
||||||
queryKey: localCourseKeys.allCoursesSettings,
|
queryKey: localCourseKeys.allCoursesSettings,
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
// const url = `/api/courses/settings`;
|
|
||||||
// const response = await axiosClient.get<LocalCourseSettings[]>(url);
|
|
||||||
// return response.data;
|
|
||||||
return await getAllCoursesSettingsFromServer();
|
return await getAllCoursesSettingsFromServer();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -46,8 +41,6 @@ export const useCreateLocalCourseMutation = () => {
|
|||||||
const queryClient = useQueryClient();
|
const queryClient = useQueryClient();
|
||||||
return useMutation({
|
return useMutation({
|
||||||
mutationFn: async (newCourse: LocalCourse) => {
|
mutationFn: async (newCourse: LocalCourse) => {
|
||||||
// const url = `/api/courses`;
|
|
||||||
// await axiosClient.post(url, newCourse);
|
|
||||||
await createCourseOnServer({ course: newCourse });
|
await createCourseOnServer({ course: newCourse });
|
||||||
},
|
},
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
@@ -67,8 +60,6 @@ export const useUpdateLocalCourseSettingsMutation = () => {
|
|||||||
localCourseKeys.settings(courseName),
|
localCourseKeys.settings(courseName),
|
||||||
updatedSettings
|
updatedSettings
|
||||||
);
|
);
|
||||||
// const url = `/api/courses/${courseName}/settings`;
|
|
||||||
// await axiosClient.put(url, updatedSettings);
|
|
||||||
await updateCourseSettingsOnServer({ courseName, settings: updatedSettings });
|
await updateCourseSettingsOnServer({ courseName, settings: updatedSettings });
|
||||||
},
|
},
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user