From 5ab371334eb048e525315797f8709881cbcc8f0d Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Mon, 21 Jul 2025 14:18:22 -0600 Subject: [PATCH] can get classroom links based on settings --- .../assignment/utils/assignmentMarkdownSerializer.ts | 4 ++-- src/services/canvas/canvasAssignmentService.ts | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/models/local/assignment/utils/assignmentMarkdownSerializer.ts b/src/models/local/assignment/utils/assignmentMarkdownSerializer.ts index 1bc3b5a..6680957 100644 --- a/src/models/local/assignment/utils/assignmentMarkdownSerializer.ts +++ b/src/models/local/assignment/utils/assignmentMarkdownSerializer.ts @@ -29,10 +29,10 @@ const settingsToMarkdown = (assignment: LocalAssignment) => { `LockAt: ${printableLockAt}`, `DueAt: ${printableDueDate}`, `AssignmentGroupName: ${assignment.localAssignmentGroupName}`, + `GithubClassroomAssignmentLink: ${assignment.githubClassroomAssignmentLink ?? ""}`, + `GithubClassroomAssignmentShareLink: ${assignment.githubClassroomAssignmentShareLink ?? ""}`, `SubmissionTypes:\n${submissionTypesMarkdown}`, `AllowedFileUploadExtensions:\n${allowedFileUploadExtensionsMarkdown}`, - `GithubClassroomAssignmentShareLink: ${assignment.githubClassroomAssignmentShareLink ?? ""}`, - `GithubClassroomAssignmentLink: ${assignment.githubClassroomAssignmentLink ?? ""}`, ]; return settingsMarkdownArr.join("\n"); }; diff --git a/src/services/canvas/canvasAssignmentService.ts b/src/services/canvas/canvasAssignmentService.ts index 62f4383..82fd388 100644 --- a/src/services/canvas/canvasAssignmentService.ts +++ b/src/services/canvas/canvasAssignmentService.ts @@ -30,6 +30,15 @@ export const canvasAssignmentService = { console.log(`Creating assignment: ${localAssignment.name}`); const url = `${canvasApi}/courses/${canvasCourseId}/assignments`; const content = markdownToHTMLSafe(localAssignment.description, settings); + + const contentWithClassroomLinks = + localAssignment.githubClassroomAssignmentShareLink + ? content.replaceAll( + "insert_github_classroom_url", + localAssignment.githubClassroomAssignmentShareLink + ) + : content; + const body = { assignment: { name: localAssignment.name, @@ -39,7 +48,7 @@ export const canvasAssignmentService = { allowed_extensions: localAssignment.allowedFileUploadExtensions.map( (e) => e.toString() ), - description: content, + description: contentWithClassroomLinks, due_at: getDateFromString(localAssignment.dueAt)?.toISOString(), lock_at: localAssignment.lockAt &&