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:
@@ -3,7 +3,7 @@ using CanvasModel.Submissions;
|
||||
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record AssignmentModel
|
||||
public record CanvasAssignment
|
||||
(
|
||||
|
||||
[property: JsonPropertyName("id")]
|
||||
@@ -88,7 +88,7 @@ public record AssignmentModel
|
||||
DateTime? UnlockAt = null,
|
||||
|
||||
[property: JsonPropertyName("all_dates")]
|
||||
IEnumerable<AssignmentDateModel>? AllDates = null,
|
||||
IEnumerable<CanvasAssignmentDate>? AllDates = null,
|
||||
|
||||
[property: JsonPropertyName("allowed_extensions")]
|
||||
IEnumerable<string>? AllowedExtensions = null,
|
||||
@@ -100,13 +100,13 @@ public record AssignmentModel
|
||||
bool? VeriCiteEnabled = null,
|
||||
|
||||
[property: JsonPropertyName("turnitin_settings")]
|
||||
TurnitinSettingsModel? TurnitinSettings = null,
|
||||
CanvasTurnitinSettings? TurnitinSettings = null,
|
||||
|
||||
[property: JsonPropertyName("grade_group_students_individually")]
|
||||
bool? GradeGroupStudentsIndividually = null,
|
||||
|
||||
[property: JsonPropertyName("external_tool_tag_attributes")]
|
||||
ExternalToolTagAttributesModel? ExternalToolTagAttributes = null,
|
||||
CanvasExternalToolTagAttributes? ExternalToolTagAttributes = null,
|
||||
|
||||
[property: JsonPropertyName("peer_review_count")]
|
||||
uint? PeerReviewCount = null,
|
||||
@@ -124,7 +124,7 @@ public record AssignmentModel
|
||||
uint? NeedsGradingCount = null,
|
||||
|
||||
[property: JsonPropertyName("needs_grading_count_be_section")]
|
||||
IEnumerable<NeedsGradingCountModel>? NeedsGradingCountBySection = null,
|
||||
IEnumerable<CanvasNeedsGradingCount>? NeedsGradingCountBySection = null,
|
||||
|
||||
[property: JsonPropertyName("post_to_sis")]
|
||||
bool? PostToSis = null,
|
||||
@@ -148,7 +148,7 @@ public record AssignmentModel
|
||||
ulong? GradingStandardId = null,
|
||||
|
||||
[property: JsonPropertyName("lock_info")]
|
||||
LockInfoModel? LockInfo = null,
|
||||
CanvasLockInfo? LockInfo = null,
|
||||
|
||||
[property: JsonPropertyName("lock_explanation")]
|
||||
string? LockExplanation = null,
|
||||
@@ -181,13 +181,13 @@ public record AssignmentModel
|
||||
object? RubricSettings = null,
|
||||
|
||||
[property: JsonPropertyName("rubric")]
|
||||
IEnumerable<RubricCriteriaModel>? Rubric = null,
|
||||
IEnumerable<CanvasRubricCriteria>? Rubric = null,
|
||||
|
||||
[property: JsonPropertyName("assignment_visibility")]
|
||||
IEnumerable<ulong>? AssignmentVisibility = null,
|
||||
|
||||
[property: JsonPropertyName("overrides")]
|
||||
IEnumerable<AssignmentOverrideModel>? Overrides = null,
|
||||
IEnumerable<CanvasAssignmentOverride>? Overrides = null,
|
||||
|
||||
[property: JsonPropertyName("omit_from_final_grade")]
|
||||
bool? OmitFromFinalGrade = null,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record AssignmentDateModel
|
||||
public record CanvasAssignmentDate
|
||||
(
|
||||
[property: JsonPropertyName("title")]
|
||||
string Title,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record AssignmentOverrideModel
|
||||
public record CanvasAssignmentOverride
|
||||
(
|
||||
|
||||
[property: JsonPropertyName("id")]
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record ExternalToolTagAttributesModel
|
||||
public record CanvasExternalToolTagAttributes
|
||||
(
|
||||
[property: JsonPropertyName("url")]
|
||||
string Url,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record LockInfoModel
|
||||
public record CanvasLockInfo
|
||||
(
|
||||
[property: JsonPropertyName("asset_string")]
|
||||
string AssetString,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record NeedsGradingCountModel
|
||||
public record CanvasNeedsGradingCount
|
||||
(
|
||||
[property: JsonPropertyName("section_id")]
|
||||
string SectionId,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record RubricCriteriaModel
|
||||
public record CanvasRubricCriteria
|
||||
(
|
||||
[property: JsonPropertyName("id")]
|
||||
string Id,
|
||||
@@ -23,7 +23,7 @@ public record RubricCriteriaModel
|
||||
bool? CriterionUseRange = null,
|
||||
|
||||
[property: JsonPropertyName("ratings")]
|
||||
IEnumerable<RubricRatingModel>? Ratings = null,
|
||||
IEnumerable<CanvasRubricRating>? Ratings = null,
|
||||
|
||||
[property: JsonPropertyName("ignore_for_scoring")]
|
||||
bool? IgnoreForScoring = null
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record RubricRatingModel
|
||||
public record CanvasRubricRating
|
||||
(
|
||||
[property: JsonPropertyName("points")]
|
||||
double Points,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record TurnitinSettingsModel
|
||||
public record CanvasTurnitinSettings
|
||||
(
|
||||
[property: JsonPropertyName("originality_report_visibility")]
|
||||
string OriginalityReportVisibility,
|
||||
@@ -1,11 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CanvasModel;
|
||||
|
||||
public record CourseModule(
|
||||
[property: JsonPropertyName("id")] ulong Id,
|
||||
[property: JsonPropertyName("name")] string Name
|
||||
// [property: JsonPropertyName("start_at")] DateTime StartAt,
|
||||
// [property: JsonPropertyName("end_at")] DateTime EndAt,
|
||||
// [property: JsonPropertyName("description")] string Description
|
||||
);
|
||||
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
|
||||
);
|
||||
@@ -33,7 +33,7 @@ public record SubmissionModel
|
||||
string LatePolicyStatus,
|
||||
|
||||
[property: JsonPropertyName("assignment")]
|
||||
AssignmentModel? Assignment = null,
|
||||
CanvasAssignment? Assignment = null,
|
||||
|
||||
[property: JsonPropertyName("course")]
|
||||
CourseModel? Course = null,
|
||||
|
||||
@@ -90,7 +90,7 @@ public record ActivityStreamObjectModel
|
||||
ulong? AssignmentId = null,
|
||||
|
||||
[property: JsonPropertyName("assignment")]
|
||||
AssignmentModel? Assignment = null,
|
||||
CanvasAssignment? Assignment = null,
|
||||
|
||||
[property: JsonPropertyName("course")]
|
||||
CourseModel? Course = null,
|
||||
|
||||
@@ -5,4 +5,6 @@ public record LocalModule
|
||||
public string Name { get; init; } = string.Empty;
|
||||
public IEnumerable<LocalAssignment> Assignments { get; init; } =
|
||||
Enumerable.Empty<LocalAssignment>();
|
||||
|
||||
public ulong? CanvasId { get; set; } = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user