mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 07:38:33 -06:00
latex rabbit hole
This commit is contained in:
@@ -112,7 +112,7 @@ export async function POST(
|
|||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
if (isAxiosError(error)) {
|
if (isAxiosError(error)) {
|
||||||
console.log(url.toString(), body);
|
console.log(url.toString(), body);
|
||||||
console.log("response data", JSON.stringify( error.response?.data));
|
console.log("response data", JSON.stringify(error.response?.data));
|
||||||
console.log("is axios error");
|
console.log("is axios error");
|
||||||
}
|
}
|
||||||
return NextResponse.json(
|
return NextResponse.json(
|
||||||
@@ -130,16 +130,30 @@ export async function PUT(
|
|||||||
{ params }: { params: { rest: string[] } }
|
{ params }: { params: { rest: string[] } }
|
||||||
) {
|
) {
|
||||||
return withErrorHandling(async () => {
|
return withErrorHandling(async () => {
|
||||||
|
const url = getUrl(params);
|
||||||
|
const body = await req.json();
|
||||||
try {
|
try {
|
||||||
const url = getUrl(params);
|
|
||||||
const body = await req.json();
|
|
||||||
const response = await axiosClient.put(url.toString(), body);
|
const response = await axiosClient.put(url.toString(), body);
|
||||||
|
|
||||||
const headers = proxyResponseHeaders(response);
|
const headers = proxyResponseHeaders(response);
|
||||||
return new NextResponse(JSON.stringify(response.data), { headers });
|
return new NextResponse(JSON.stringify(response.data), { headers });
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
return new NextResponse(
|
if (isAxiosError(error)) {
|
||||||
JSON.stringify({ error: error.message || "Canvas PUT request failed" }),
|
console.log(url.toString(), body);
|
||||||
|
console.log("response data", JSON.stringify(error.response?.data));
|
||||||
|
console.log("is axios error");
|
||||||
|
|
||||||
|
return NextResponse.json(
|
||||||
|
{
|
||||||
|
error: error.response?.data ?? "Canvas put failed",
|
||||||
|
},
|
||||||
|
{ status: error.response?.status || 500 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return NextResponse.json(
|
||||||
|
{
|
||||||
|
error: error.message || "Canvas POST request failed",
|
||||||
|
},
|
||||||
{ status: error.response?.status || 500 }
|
{ status: error.response?.status || 500 }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,15 +15,23 @@ const createRubric = async (
|
|||||||
assignmentCanvasId: number,
|
assignmentCanvasId: number,
|
||||||
localAssignment: LocalAssignment
|
localAssignment: LocalAssignment
|
||||||
) => {
|
) => {
|
||||||
const criterion = localAssignment.rubric.map((rubricItem, i) => ({
|
const criterion = localAssignment.rubric
|
||||||
description: rubricItem.label,
|
.map((rubricItem) => ({
|
||||||
points: rubricItem.points,
|
description: rubricItem.label,
|
||||||
ratings: [
|
points: rubricItem.points,
|
||||||
{ description: "Full Marks", points: rubricItem.points },
|
ratings: {
|
||||||
{ description: "No Marks", points: 0 },
|
0: { description: "Full Marks", points: rubricItem.points },
|
||||||
],
|
1: { description: "No Marks", points: 0 },
|
||||||
}));
|
},
|
||||||
|
}))
|
||||||
|
.reduce((acc, item, index) => {
|
||||||
|
return {
|
||||||
|
...acc,
|
||||||
|
[index]: item,
|
||||||
|
};
|
||||||
|
}, {} as { [key: number]: { description: string; points: number; ratings: { [key: number]: { description: string; points: number } } } });
|
||||||
|
|
||||||
|
console.log(criterion);
|
||||||
const rubricBody = {
|
const rubricBody = {
|
||||||
rubric_association_id: assignmentCanvasId,
|
rubric_association_id: assignmentCanvasId,
|
||||||
rubric: {
|
rubric: {
|
||||||
@@ -116,18 +124,22 @@ export const canvasAssignmentService = {
|
|||||||
console.log(`Updating assignment: ${localAssignment.name}`);
|
console.log(`Updating assignment: ${localAssignment.name}`);
|
||||||
const url = `${canvasApi}/courses/${courseId}/assignments/${canvasAssignmentId}`;
|
const url = `${canvasApi}/courses/${courseId}/assignments/${canvasAssignmentId}`;
|
||||||
const body = {
|
const body = {
|
||||||
name: localAssignment.name,
|
assignment: {
|
||||||
submission_types: localAssignment.submissionTypes.map((t) =>
|
name: localAssignment.name,
|
||||||
t.toString()
|
submission_types: localAssignment.submissionTypes.map((t) =>
|
||||||
),
|
t.toString()
|
||||||
allowed_extensions: localAssignment.allowedFileUploadExtensions.map((e) =>
|
),
|
||||||
e.toString()
|
allowed_extensions: localAssignment.allowedFileUploadExtensions.map(
|
||||||
),
|
(e) => e.toString()
|
||||||
description: markdownToHTMLSafe(localAssignment.description),
|
),
|
||||||
due_at: localAssignment.dueAt,
|
description: markdownToHTMLSafe(localAssignment.description),
|
||||||
lock_at: localAssignment.lockAt,
|
due_at: getDateFromString(localAssignment.dueAt)?.toISOString(),
|
||||||
points_possible: assignmentPoints(localAssignment),
|
lock_at:
|
||||||
assignment_group_id: canvasAssignmentGroupId,
|
localAssignment.lockAt &&
|
||||||
|
getDateFromString(localAssignment.lockAt)?.toISOString(),
|
||||||
|
points_possible: assignmentPoints(localAssignment),
|
||||||
|
assignment_group_id: canvasAssignmentGroupId,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
await axiosClient.put(url, body);
|
await axiosClient.put(url, body);
|
||||||
@@ -138,7 +150,7 @@ export const canvasAssignmentService = {
|
|||||||
courseId: number,
|
courseId: number,
|
||||||
assignmentCanvasId: number,
|
assignmentCanvasId: number,
|
||||||
assignmentName: string
|
assignmentName: string
|
||||||
): Promise<void> {
|
) {
|
||||||
console.log(`Deleting assignment from Canvas: ${assignmentName}`);
|
console.log(`Deleting assignment from Canvas: ${assignmentName}`);
|
||||||
const url = `${canvasApi}/courses/${courseId}/assignments/${assignmentCanvasId}`;
|
const url = `${canvasApi}/courses/${courseId}/assignments/${assignmentCanvasId}`;
|
||||||
const response = await axiosClient.delete(url);
|
const response = await axiosClient.delete(url);
|
||||||
|
|||||||
Reference in New Issue
Block a user