reassigning modules works

This commit is contained in:
2024-09-20 13:11:09 -06:00
parent 4f8360164d
commit 71ffe61715
12 changed files with 304 additions and 88 deletions

View File

@@ -28,11 +28,13 @@ export const PUT = async (
}
) =>
await withErrorHandling(async () => {
const {
assignment,
previousModuleName,
}: { assignment: LocalAssignment; previousModuleName?: string } =
await request.json();
const { assignment, previousModuleName, previousAssignmentName } =
(await request.json()) as {
assignment: LocalAssignment;
previousModuleName?: string;
previousAssignmentName?: string;
};
await fileStorageService.assignments.updateOrCreateAssignment({
courseName,
moduleName,
@@ -40,9 +42,17 @@ export const PUT = async (
assignment,
});
if(previousModuleName !== moduleName)
{
fileStorageService.assignments.
if (
previousModuleName &&
previousAssignmentName &&
(assignment.name !== previousAssignmentName ||
moduleName !== previousModuleName)
) {
fileStorageService.assignments.delete({
courseName,
moduleName: previousModuleName,
assignmentName: previousAssignmentName,
});
}
return Response.json({});

View File

@@ -1,3 +1,4 @@
import { LocalQuiz } from "@/models/local/quiz/localQuiz";
import { fileStorageService } from "@/services/fileStorage/fileStorageService";
import { withErrorHandling } from "@/services/withErrorHandling";
@@ -23,13 +24,31 @@ export const PUT = async (
}: { params: { courseName: string; moduleName: string; quizName: string } }
) =>
await withErrorHandling(async () => {
const quiz = await request.json();
const { quiz, previousModuleName, previousQuizName } =
(await request.json()) as {
quiz: LocalQuiz;
previousModuleName?: string;
previousQuizName?: string;
};
await fileStorageService.quizzes.updateQuiz(
courseName,
moduleName,
quizName,
quiz
);
if (
previousModuleName &&
previousQuizName &&
(quiz.name !== previousQuizName ||
moduleName !== previousModuleName)
) {
fileStorageService.quizzes.delete({
courseName,
moduleName: previousModuleName,
quizName: previousQuizName,
});
}
return Response.json({});
});