added quiz support, improved assignment description and rubric support

This commit is contained in:
2023-08-18 13:27:12 -06:00
parent a962ef74f9
commit a57a687f3c
10 changed files with 154 additions and 69 deletions

View File

@@ -40,9 +40,9 @@ public class CanvasQuizService
title = localQuiz.Name,
description = localQuiz.Description,
// assignment_group_id = "quiz", TODO: support specific assignment groups
time_limit = localQuiz.TimeLimit,
// time_limit = localQuiz.TimeLimit,
shuffle_answers = localQuiz.ShuffleAnswers,
hide_results = localQuiz.HideResults,
// hide_results = localQuiz.HideResults,
allowed_attempts = localQuiz.AllowedAttempts,
one_question_at_a_time = true,
cant_go_back = false,

View File

@@ -74,7 +74,14 @@ public class CanvasService
Console.WriteLine($"Creating Module: {name}");
var url = $"courses/{courseId}/modules";
var request = new RestRequest(url);
request.AddParameter("module[name]", name);
var body = new
{
module = new
{
name = name
}
};
request.AddBody(body);
var (newModule, _) = await webRequestor.PostAsync<CanvasModule>(request);
return newModule ?? throw new Exception($"failed to create new canvas module {name}");

View File

@@ -14,7 +14,7 @@ public class YamlManager
public LocalCourse ParseCourse(string rawCourse)
{
var deserializer = new DeserializerBuilder().Build();
var deserializer = new DeserializerBuilder().IgnoreUnmatchedProperties().Build();
var course = deserializer.Deserialize<LocalCourse>(rawCourse);
return course;