back to server actions

This commit is contained in:
2024-10-29 13:34:55 -06:00
parent 6b59960189
commit 590a245536
7 changed files with 0 additions and 149 deletions

View File

@@ -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({});
});

View File

@@ -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({});
});

View File

@@ -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);
});

View File

@@ -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);
// });

View File

@@ -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,

View File

@@ -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: () => {

View File

@@ -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: () => {