handling module items

This commit is contained in:
2024-09-23 16:12:55 -06:00
parent dcc2ca9099
commit 06073cbd1b
10 changed files with 123 additions and 21 deletions

View File

@@ -6,6 +6,8 @@ import { markdownToHTMLSafe } from "../htmlMarkdownUtils";
import { CanvasRubricCreationResponse } from "@/models/canvas/assignments/canvasRubricCreationResponse";
import { assignmentPoints } from "@/models/local/assignment/utils/assignmentPointsUtils";
import { getDateFromString } from "@/models/local/timeUtils";
import { canvasModuleService } from "./canvasModuleService";
import { CanvasModule } from "@/models/canvas/modules/canvasModule";
export const canvasAssignmentService = {
@@ -23,7 +25,7 @@ export const canvasAssignmentService = {
async create(
canvasCourseId: number,
localAssignment: LocalAssignment,
canvasAssignmentGroupId?: number
canvasAssignmentGroupId?: number,
) {
console.log(`Creating assignment: ${localAssignment.name}`);
const url = `${canvasApi}/courses/${canvasCourseId}/assignments`;

View File

@@ -24,9 +24,9 @@ export const canvasModuleService = {
canvasCourseId: number,
canvasModuleId: number,
title: string,
type: string,
type: "Assignment" | "Quiz",
contentId: number | string
): Promise<void> {
) {
console.log(`Creating new module item ${title}`);
const url = `${canvasApi}/courses/${canvasCourseId}/modules/${canvasModuleId}/items`;
const body = { module_item: { title, type, content_id: contentId } };
@@ -38,7 +38,7 @@ export const canvasModuleService = {
canvasModuleId: number,
title: string,
canvasPage: CanvasPage
): Promise<void> {
) {
console.log(`Creating new module item ${title}`);
const url = `${canvasApi}/courses/${canvasCourseId}/modules/${canvasModuleId}/items`;
const body = {
@@ -60,6 +60,7 @@ export const canvasModuleService = {
name: moduleName,
},
};
await axiosClient.post(url, body);
const response = await axiosClient.post<CanvasModule>(url, body);
return response.data.id;
},
};

View File

@@ -127,7 +127,7 @@ export const canvasQuizService = {
canvasCourseId: number,
localQuiz: LocalQuiz,
canvasAssignmentGroupId?: number
): Promise<number> {
) {
console.log("Creating quiz", localQuiz);
const url = `${canvasApi}/courses/${canvasCourseId}/quizzes`;
@@ -158,8 +158,6 @@ export const canvasQuizService = {
};
const { data: canvasQuiz } = await axiosClient.post<CanvasQuiz>(url, body);
if (!canvasQuiz) throw new Error("Created quiz is null");
await createQuizQuestions(canvasCourseId, canvasQuiz.id, localQuiz);
return canvasQuiz.id;
},