mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
working on canvas sync
This commit is contained in:
23
Management/Models/CanvasModels/Modules/CanvasModule.cs
Normal file
23
Management/Models/CanvasModels/Modules/CanvasModule.cs
Normal 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
|
||||
);
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace CanvasModel.Modules;
|
||||
|
||||
public record CanvasCompletionRequirement(
|
||||
[property: JsonPropertyName("type")] string Type,
|
||||
[property: JsonPropertyName("min_score")] double? MinScore,
|
||||
[property: JsonPropertyName("completed")] bool? Completed
|
||||
);
|
||||
20
Management/Models/CanvasModels/Modules/CanvasModuleItem.cs
Normal file
20
Management/Models/CanvasModels/Modules/CanvasModuleItem.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
namespace CanvasModel.Modules;
|
||||
|
||||
public record CanvasModuleItem(
|
||||
[property: JsonPropertyName("id")] ulong Id,
|
||||
[property: JsonPropertyName("module_id")] ulong ModuleId,
|
||||
[property: JsonPropertyName("position")] uint Position,
|
||||
[property: JsonPropertyName("title")] string Title,
|
||||
[property: JsonPropertyName("indent")] uint? Indent,
|
||||
[property: JsonPropertyName("type")] string Type,
|
||||
[property: JsonPropertyName("content_id")] ulong? ContentId,
|
||||
[property: JsonPropertyName("html_url")] string HtmlUrl,
|
||||
[property: JsonPropertyName("url")] string? Url,
|
||||
[property: JsonPropertyName("page_url")] string? PageUrl,
|
||||
[property: JsonPropertyName("external_url")] string? ExternalUrl,
|
||||
[property: JsonPropertyName("new_tab")] bool NewTab,
|
||||
// [OptIn]
|
||||
[property: JsonPropertyName("completion_requirement")]
|
||||
CanvasCompletionRequirement? CompletionRequirement,
|
||||
[property: JsonPropertyName("published")] bool? Published
|
||||
);
|
||||
Reference in New Issue
Block a user