mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 15:48:32 -06:00
passing canvas models tests
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record AssignmentDateModel
|
||||
(
|
||||
[property: JsonPropertyName("title")]
|
||||
string Title,
|
||||
|
||||
[property: JsonPropertyName("id")]
|
||||
ulong? Id = null,
|
||||
|
||||
[property: JsonPropertyName("base")]
|
||||
bool? Base = null,
|
||||
|
||||
[property: JsonPropertyName("due_at")]
|
||||
DateTime? DueAt = null,
|
||||
|
||||
[property: JsonPropertyName("unlock_at")]
|
||||
DateTime? UnlockAt = null,
|
||||
|
||||
[property: JsonPropertyName("lock_at")]
|
||||
DateTime? LockAt = null
|
||||
);
|
||||
209
Management/Models/CanvasModels/Assignments/AssignmentModel.cs
Normal file
209
Management/Models/CanvasModels/Assignments/AssignmentModel.cs
Normal file
@@ -0,0 +1,209 @@
|
||||
using CanvasModel.Discussions;
|
||||
using CanvasModel.Submissions;
|
||||
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record AssignmentModel
|
||||
(
|
||||
|
||||
[property: JsonPropertyName("id")]
|
||||
ulong Id,
|
||||
|
||||
[property: JsonPropertyName("name")]
|
||||
string Name,
|
||||
|
||||
[property: JsonPropertyName("description")]
|
||||
string Description,
|
||||
|
||||
[property: JsonPropertyName("created_at")]
|
||||
DateTime CreatedAt,
|
||||
|
||||
[property: JsonPropertyName("has_overrides")]
|
||||
bool HasOverrides,
|
||||
|
||||
[property: JsonPropertyName("course_id")]
|
||||
ulong CourseId,
|
||||
|
||||
[property: JsonPropertyName("html_url")]
|
||||
string HtmlUrl,
|
||||
|
||||
[property: JsonPropertyName("submissions_download_url")]
|
||||
string SubmissionsDownloadUrl,
|
||||
|
||||
[property: JsonPropertyName("assignment_group_id")]
|
||||
ulong AssignmentGroupId,
|
||||
|
||||
[property: JsonPropertyName("due_date_required")]
|
||||
bool DueDateRequired,
|
||||
|
||||
[property: JsonPropertyName("max_name_length")]
|
||||
uint MaxNameLength,
|
||||
|
||||
[property: JsonPropertyName("peer_reviews")]
|
||||
bool PeerReviews,
|
||||
|
||||
[property: JsonPropertyName("automatic_peer_reviews")]
|
||||
bool AutomaticPeerReviews,
|
||||
|
||||
[property: JsonPropertyName("position")]
|
||||
ulong Position,
|
||||
|
||||
[property: JsonPropertyName("grading_type")]
|
||||
string GradingType,
|
||||
|
||||
[property: JsonPropertyName("published")]
|
||||
bool Published,
|
||||
|
||||
[property: JsonPropertyName("unpublishable")]
|
||||
bool Unpublishable,
|
||||
|
||||
[property: JsonPropertyName("only_visible_to_overrides")]
|
||||
bool OnlyVisibleToOverrides,
|
||||
|
||||
[property: JsonPropertyName("locked_for_user")]
|
||||
bool LockedForUser,
|
||||
|
||||
[property: JsonPropertyName("moderated_grading")]
|
||||
bool ModeratedGrading,
|
||||
|
||||
[property: JsonPropertyName("grader_count")]
|
||||
uint GraderCount,
|
||||
|
||||
[property: JsonPropertyName("allowed_attempts")]
|
||||
int AllowedAttempts,
|
||||
|
||||
[property: JsonPropertyName("submission_types")]
|
||||
IEnumerable<string> SubmissionTypes,
|
||||
|
||||
[property: JsonPropertyName("updated_at")]
|
||||
DateTime? UpdatedAt = null,
|
||||
|
||||
[property: JsonPropertyName("due_at")]
|
||||
DateTime? DueAt = null,
|
||||
|
||||
[property: JsonPropertyName("lock_at")]
|
||||
DateTime? LockAt = null,
|
||||
|
||||
[property: JsonPropertyName("unlock_at")]
|
||||
DateTime? UnlockAt = null,
|
||||
|
||||
[property: JsonPropertyName("all_dates")]
|
||||
IEnumerable<AssignmentDateModel>? AllDates = null,
|
||||
|
||||
[property: JsonPropertyName("allowed_extensions")]
|
||||
IEnumerable<string>? AllowedExtensions = null,
|
||||
|
||||
[property: JsonPropertyName("turnitin_enabled")]
|
||||
bool? TurnitinEnabled = null,
|
||||
|
||||
[property: JsonPropertyName("vericite_enabled")]
|
||||
bool? VeriCiteEnabled = null,
|
||||
|
||||
[property: JsonPropertyName("turnitin_settings")]
|
||||
TurnitinSettingsModel? TurnitinSettings = null,
|
||||
|
||||
[property: JsonPropertyName("grade_group_students_individually")]
|
||||
bool? GradeGroupStudentsIndividually = null,
|
||||
|
||||
[property: JsonPropertyName("external_tool_tag_attributes")]
|
||||
ExternalToolTagAttributesModel? ExternalToolTagAttributes = null,
|
||||
|
||||
[property: JsonPropertyName("peer_review_count")]
|
||||
uint? PeerReviewCount = null,
|
||||
|
||||
[property: JsonPropertyName("peer_reviews_assign_at")]
|
||||
DateTime? PeerReviewsAssignAt = null,
|
||||
|
||||
[property: JsonPropertyName("intra_group_peer_reviews")]
|
||||
bool? IntraGroupPeerReviews = null,
|
||||
|
||||
[property: JsonPropertyName("group_category_id")]
|
||||
ulong? GroupCategoryId = null,
|
||||
|
||||
[property: JsonPropertyName("needs_grading_count")]
|
||||
uint? NeedsGradingCount = null,
|
||||
|
||||
[property: JsonPropertyName("needs_grading_count_be_section")]
|
||||
IEnumerable<NeedsGradingCountModel>? NeedsGradingCountBySection = null,
|
||||
|
||||
[property: JsonPropertyName("post_to_sis")]
|
||||
bool? PostToSis = null,
|
||||
|
||||
[property: JsonPropertyName("integration_id")]
|
||||
string? IntegrationId = null,
|
||||
|
||||
[property: JsonPropertyName("integration_data")]
|
||||
object? IntegrationData = null,
|
||||
|
||||
[property: JsonPropertyName("muted")]
|
||||
bool? Muted = null,
|
||||
|
||||
[property: JsonPropertyName("points_possible")]
|
||||
double? PointsPossible = null,
|
||||
|
||||
[property: JsonPropertyName("has_submitted_submissions")]
|
||||
bool? HasSubmittedSubmissions = null,
|
||||
|
||||
[property: JsonPropertyName("grading_standard_id")]
|
||||
ulong? GradingStandardId = null,
|
||||
|
||||
[property: JsonPropertyName("lock_info")]
|
||||
LockInfoModel? LockInfo = null,
|
||||
|
||||
[property: JsonPropertyName("lock_explanation")]
|
||||
string? LockExplanation = null,
|
||||
|
||||
[property: JsonPropertyName("quiz_id")]
|
||||
ulong? QuizId = null,
|
||||
|
||||
[property: JsonPropertyName("anonymous_submissions")]
|
||||
bool? AnonymousSubmissions = null,
|
||||
|
||||
[property: JsonPropertyName("discussion_topic")]
|
||||
DiscussionTopicModel? DiscussionTopic = null,
|
||||
|
||||
[property: JsonPropertyName("freeze_on_copy")]
|
||||
bool? FreezeOnCopy = null,
|
||||
|
||||
[property: JsonPropertyName("frozen")]
|
||||
bool? Frozen = null,
|
||||
|
||||
[property: JsonPropertyName("frozen_attributes")]
|
||||
IEnumerable<string>? FrozenAttributes = null,
|
||||
|
||||
[property: JsonPropertyName("submission")]
|
||||
SubmissionModel? Submission = null,
|
||||
|
||||
[property: JsonPropertyName("use_rubric_for_grading")]
|
||||
bool? UseRubricForGrading = null,
|
||||
|
||||
[property: JsonPropertyName("rubric_settings")]
|
||||
object? RubricSettings = null,
|
||||
|
||||
[property: JsonPropertyName("rubric")]
|
||||
IEnumerable<RubricCriteriaModel>? Rubric = null,
|
||||
|
||||
[property: JsonPropertyName("assignment_visibility")]
|
||||
IEnumerable<ulong>? AssignmentVisibility = null,
|
||||
|
||||
[property: JsonPropertyName("overrides")]
|
||||
IEnumerable<AssignmentOverrideModel>? Overrides = null,
|
||||
|
||||
[property: JsonPropertyName("omit_from_final_grade")]
|
||||
bool? OmitFromFinalGrade = null,
|
||||
|
||||
[property: JsonPropertyName("final_grader_id")]
|
||||
ulong? FinalGraderId = null,
|
||||
|
||||
[property: JsonPropertyName("grader_comments_visible_to_graders")]
|
||||
bool? GraderCommentsVisibleToGraders = null,
|
||||
|
||||
[property: JsonPropertyName("graders_anonymous_to_graders")]
|
||||
bool? GradersAnonymousToGraders = null,
|
||||
|
||||
[property: JsonPropertyName("grader_names_anonymous_to_final_grader")]
|
||||
bool? GraderNamesVisibleToFinalGrader = null,
|
||||
|
||||
[property: JsonPropertyName("anonymous_grading")]
|
||||
bool? AnonymousGrading = null
|
||||
);
|
||||
@@ -0,0 +1,38 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record AssignmentOverrideModel
|
||||
(
|
||||
|
||||
[property: JsonPropertyName("id")]
|
||||
ulong Id,
|
||||
|
||||
[property: JsonPropertyName("assignment_id")]
|
||||
ulong AssignmentId,
|
||||
|
||||
[property: JsonPropertyName("course_section_ids")]
|
||||
ulong CourseSectionId,
|
||||
|
||||
[property: JsonPropertyName("title")]
|
||||
string Title,
|
||||
|
||||
[property: JsonPropertyName("student_ids")]
|
||||
IEnumerable<ulong>? StudentIds = null,
|
||||
|
||||
[property: JsonPropertyName("group_id")]
|
||||
ulong? GroupId = null,
|
||||
|
||||
[property: JsonPropertyName("due_at")]
|
||||
DateTime? DueAt = null,
|
||||
|
||||
[property: JsonPropertyName("all_day")]
|
||||
bool? AllDay = null,
|
||||
|
||||
[property: JsonPropertyName("all_day_date")]
|
||||
DateTime? AllDayDate = null,
|
||||
|
||||
[property: JsonPropertyName("unlock_at")]
|
||||
DateTime? UnlockAt = null,
|
||||
|
||||
[property: JsonPropertyName("lock_at")]
|
||||
DateTime? LockAt = null
|
||||
);
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record ExternalToolTagAttributesModel
|
||||
(
|
||||
[property: JsonPropertyName("url")]
|
||||
string Url,
|
||||
|
||||
[property: JsonPropertyName("resource_link_id")]
|
||||
string ResourceLinkId,
|
||||
|
||||
[property: JsonPropertyName("new_tab")]
|
||||
bool? NewTab = null
|
||||
);
|
||||
19
Management/Models/CanvasModels/Assignments/LockInfoModel.cs
Normal file
19
Management/Models/CanvasModels/Assignments/LockInfoModel.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record LockInfoModel
|
||||
(
|
||||
[property: JsonPropertyName("asset_string")]
|
||||
string AssetString,
|
||||
|
||||
[property: JsonPropertyName("unlock_at")]
|
||||
DateTime? UnlockAt = null,
|
||||
|
||||
[property: JsonPropertyName("lock_at")]
|
||||
DateTime? LockAt = null,
|
||||
|
||||
[property: JsonPropertyName("context_module")]
|
||||
object? ContextModule = null,
|
||||
|
||||
[property: JsonPropertyName("manually_locked")]
|
||||
bool? ManuallyLocked = null
|
||||
);
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record NeedsGradingCountModel
|
||||
(
|
||||
[property: JsonPropertyName("section_id")]
|
||||
string SectionId,
|
||||
|
||||
[property: JsonPropertyName("needs_grading_count")]
|
||||
uint NeedsGradingCount
|
||||
);
|
||||
@@ -0,0 +1,30 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record RubricCriteriaModel
|
||||
(
|
||||
[property: JsonPropertyName("id")]
|
||||
string Id,
|
||||
|
||||
[property: JsonPropertyName("description")]
|
||||
string Description,
|
||||
|
||||
[property: JsonPropertyName("long_description")]
|
||||
string LongDescription,
|
||||
|
||||
[property: JsonPropertyName("points")]
|
||||
double? Points,
|
||||
[property: JsonPropertyName("learning_outcome_id")]
|
||||
string? LearningOutcomeId,
|
||||
|
||||
[property: JsonPropertyName("vendor_guid")]
|
||||
string? VendorGuid,
|
||||
|
||||
[property: JsonPropertyName("criterion_use_range")]
|
||||
bool? CriterionUseRange = null,
|
||||
|
||||
[property: JsonPropertyName("ratings")]
|
||||
IEnumerable<RubricRatingModel>? Ratings = null,
|
||||
|
||||
[property: JsonPropertyName("ignore_for_scoring")]
|
||||
bool? IgnoreForScoring = null
|
||||
);
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record RubricRatingModel
|
||||
(
|
||||
[property: JsonPropertyName("points")]
|
||||
double Points,
|
||||
|
||||
[property: JsonPropertyName("id")]
|
||||
string Id,
|
||||
|
||||
[property: JsonPropertyName("description")]
|
||||
string Description,
|
||||
|
||||
[property: JsonPropertyName("long_description")]
|
||||
string LongDescription
|
||||
);
|
||||
@@ -0,0 +1,28 @@
|
||||
namespace CanvasModel.Assignments;
|
||||
|
||||
public record TurnitinSettingsModel
|
||||
(
|
||||
[property: JsonPropertyName("originality_report_visibility")]
|
||||
string OriginalityReportVisibility,
|
||||
|
||||
[property: JsonPropertyName("s_paper_check")]
|
||||
bool SPaperCheck,
|
||||
|
||||
[property: JsonPropertyName("internet_check")]
|
||||
bool InternetCheck,
|
||||
|
||||
[property: JsonPropertyName("journal_check")]
|
||||
bool JournalCheck,
|
||||
|
||||
[property: JsonPropertyName("exclude_biblio")]
|
||||
bool ExcludeBiblio,
|
||||
|
||||
[property: JsonPropertyName("exclude_quoted")]
|
||||
bool ExcludeQuoted,
|
||||
|
||||
[property: JsonPropertyName("exclude_small_matches_type")]
|
||||
bool? ExcludeSmallMatchesType = null,
|
||||
|
||||
[property: JsonPropertyName("exclude_small_matches_value")]
|
||||
uint? ExcludeSmallMatchesValue = null
|
||||
);
|
||||
Reference in New Issue
Block a user