working on canvas sync

This commit is contained in:
2023-07-29 20:33:00 -06:00
parent 7c857a3887
commit 2cca727b4d
26 changed files with 362 additions and 83 deletions

View File

@@ -0,0 +1,23 @@
namespace CanvasModel.Modules;
public record CanvasModule(
[property: JsonPropertyName("id")] ulong Id,
[property: JsonPropertyName("workflow_state")] string WorkflowState,
[property: JsonPropertyName("position")] uint Position,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("unlock_at")] DateTime? UnlockAt,
[property: JsonPropertyName("require_sequential_progress")] bool? RequireSequentialProgress,
[property: JsonPropertyName("prerequisite_module_ids")] IEnumerable<ulong>? PrerequisiteModuleIds,
[property: JsonPropertyName("items_count")] uint ItemsCount,
[property: JsonPropertyName("items_url")] string ItemsUrl,
// [OptIn]
// [Enigmatic] // can be null if "the module is deemed too large", even if opted-in
[property: JsonPropertyName("items")]
IEnumerable<CanvasModuleItem>? Items,
[property: JsonPropertyName("state")] string? State, // todo make sure this,
// [OptIn]
[property: JsonPropertyName("completed_at")]
DateTime? CompletedAt,
[property: JsonPropertyName("publish_final_grade")] bool? PublishFinalGrade,
[property: JsonPropertyName("published")] bool? Published
);