diff --git a/Management/Models/CanvasModel/Accounts/AccountModel.cs b/Management/Models/CanvasModel/Accounts/AccountModel.cs deleted file mode 100644 index f82446b..0000000 --- a/Management/Models/CanvasModel/Accounts/AccountModel.cs +++ /dev/null @@ -1,46 +0,0 @@ - - - -namespace CanvasModel.Accounts; -public class AccountModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("uuid")] - public string Uuid { get; set; } - - [JsonPropertyName("parent_account_id")] - public ulong? ParentAccountId { get; set; } - - [JsonPropertyName("root_account_id")] - public ulong? RootAccountId { get; set; } - - [JsonPropertyName("default_user_storage_quota_mb")] - public ulong? DefaultUserStorageQuotaMb { get; set; } - - [JsonPropertyName("default_group_storage_quota_mb")] - public ulong? DefaultGroupStorageQuotaMb { get; set; } - - [JsonPropertyName("default_time_zone")] - public string DefaultTimeZone { get; set; } - - [JsonPropertyName("sis_account_id")] - public string? SisAccountId { get; set; } - - [JsonPropertyName("integrationI-d")] - public string? IntegrationId { get; set; } - - [JsonPropertyName("sis_import_id")] - public string? SisImportId { get; set; } - - [JsonPropertyName("lti_guid")] - public string LtiGuid { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Accounts/HelpLinkModel.cs b/Management/Models/CanvasModel/Accounts/HelpLinkModel.cs deleted file mode 100644 index 153d620..0000000 --- a/Management/Models/CanvasModel/Accounts/HelpLinkModel.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections.Generic; - - -namespace CanvasModel.Accounts; -public class HelpLinkModel -{ - - [JsonPropertyName("id")] - public string Id { get; set; } - - [JsonPropertyName("text")] - public string Text { get; set; } - - [JsonPropertyName("subtext")] - public string Subtext { get; set; } - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("available_to")] - public IEnumerable AvailableTo { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Accounts/HelpLinksModel.cs b/Management/Models/CanvasModel/Accounts/HelpLinksModel.cs deleted file mode 100644 index a9776bc..0000000 --- a/Management/Models/CanvasModel/Accounts/HelpLinksModel.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections.Generic; - - -namespace CanvasModel.Accounts; -public class HelpLinksModel -{ - - [JsonPropertyName("help_link_name")] - public string HelpLinkName { get; set; } - - [JsonPropertyName("help_link_icon")] - public string HelpLinkIcon { get; set; } - - [JsonPropertyName("custom_help_links")] - public IEnumerable CustomHelpLinks { get; set; } - - [JsonPropertyName("default_help_links")] - public IEnumerable DefaultHelpLinks { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Accounts/TermsOfServiceModel.cs b/Management/Models/CanvasModel/Accounts/TermsOfServiceModel.cs deleted file mode 100644 index 1b4454e..0000000 --- a/Management/Models/CanvasModel/Accounts/TermsOfServiceModel.cs +++ /dev/null @@ -1,21 +0,0 @@ - - -namespace CanvasModel.Accounts; -public class TermsOfServiceModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("terms_type")] - public string TermsType { get; set; } - - [JsonPropertyName("passive")] - public bool Passive { get; set; } - - [JsonPropertyName("account_id")] - public ulong AccountId { get; set; } - - [JsonPropertyName("content")] - public string Content { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Analytics/CourseAssignmentSummaryModel.cs b/Management/Models/CanvasModel/Analytics/CourseAssignmentSummaryModel.cs deleted file mode 100644 index 56e754b..0000000 --- a/Management/Models/CanvasModel/Analytics/CourseAssignmentSummaryModel.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; - - -namespace CanvasModel.Analytics; -public class CourseAssignmentSummaryModel -{ - - [JsonPropertyName("assignment_id")] - public ulong AssignmentId { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("due_at")] - public DateTime DueAt { get; set; } - - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("muted")] - public bool Muted { get; set; } - - [JsonPropertyName("points_possible")] - public decimal PointsPossible { get; set; } - - [JsonPropertyName("non_digital_submission")] - public bool? NonDigitalSubmission { get; set; } - - [JsonPropertyName("max_score")] - public decimal? MaxScore { get; set; } - - [JsonPropertyName("min_score")] - public decimal? MinScore { get; set; } - - [JsonPropertyName("first_quartile")] - public decimal? FirstQuartile { get; set; } - - [JsonPropertyName("median")] - public decimal? Median { get; set; } - - [JsonPropertyName("third_quartile")] - public decimal? ThirdQuartile { get; set; } - - [JsonPropertyName("tardiness_breakdown")] - public TardinessModel TardinessBreakdown { get; set; } -} diff --git a/Management/Models/CanvasModel/Analytics/CourseStudentSummaryModel.cs b/Management/Models/CanvasModel/Analytics/CourseStudentSummaryModel.cs deleted file mode 100644 index a359a76..0000000 --- a/Management/Models/CanvasModel/Analytics/CourseStudentSummaryModel.cs +++ /dev/null @@ -1,30 +0,0 @@ - - -namespace CanvasModel.Analytics; -public class CourseStudentSummaryModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("page_views")] - public uint PageViews { get; set; } - - [JsonPropertyName("max_page_views")] - public uint? MaxPageViews { get; set; } - - [JsonPropertyName("page_views_level")] - public uint? PageViewsLevel { get; set; } - - [JsonPropertyName("participations")] - public uint Participations { get; set; } - - [JsonPropertyName("max_participations")] - public uint? MaxParticipations { get; set; } - - [JsonPropertyName("participations_level")] - public uint? ParticipationsLevel { get; set; } - - [JsonPropertyName("tardiness_breakdown")] - public TardinessModel TardinessBreakdown { get; set; } -} diff --git a/Management/Models/CanvasModel/Analytics/DepartmentParticipationModel.cs b/Management/Models/CanvasModel/Analytics/DepartmentParticipationModel.cs deleted file mode 100644 index 7ca6c96..0000000 --- a/Management/Models/CanvasModel/Analytics/DepartmentParticipationModel.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; - - -namespace CanvasModel.Analytics; -// The format of this model in the documentation is COMPLETELY WRONG. Each property is an array of objects, not an object, -// and each of those objects have some extra fields: {id, date, views, participations} in by_date and -// {id, category, views} in by_category. In both cases, id seems to be null 100% of the time, so I am omitting that one. -// The primary keys (date and category) are thankfully discrete, so we can trivially build the dictionary ourselves. -public class DepartmentParticipationModel -{ - - [JsonPropertyName("by_date")] - public IEnumerable ByDate { get; set; } - - [JsonPropertyName("by_category")] - public IEnumerable ByCategory { get; set; } -} - -public class DepartmentParticipationDateEntryModel -{ - - [JsonPropertyName("date")] - public DateTime Date { get; set; } - - [JsonPropertyName("views")] - public ulong Views { get; set; } - - [JsonPropertyName("participations")] - public ulong Participations { get; set; } -} - -public class DepartmentParticipationCategoryEntryModel -{ - - [JsonPropertyName("category")] - public string Category { get; set; } - - [JsonPropertyName("views")] - public ulong Views { get; set; } -} diff --git a/Management/Models/CanvasModel/Analytics/DepartmentStatisticsModel.cs b/Management/Models/CanvasModel/Analytics/DepartmentStatisticsModel.cs deleted file mode 100644 index f1fcc96..0000000 --- a/Management/Models/CanvasModel/Analytics/DepartmentStatisticsModel.cs +++ /dev/null @@ -1,30 +0,0 @@ - - -namespace CanvasModel.Analytics; -public class DepartmentStatisticsModel -{ - - [JsonPropertyName("courses")] - public ulong Courses { get; set; } - - [JsonPropertyName("subaccounts")] - public ulong Subaccounts { get; set; } - - [JsonPropertyName("teacher")] - public ulong Teachers { get; set; } - - [JsonPropertyName("students")] - public ulong Students { get; set; } - - [JsonPropertyName("discussion_topics")] - public ulong DiscussionTopics { get; set; } - - [JsonPropertyName("media_objects")] - public ulong MediaObjects { get; set; } - - [JsonPropertyName("attachments")] - public ulong Attachments { get; set; } - - [JsonPropertyName("assignments")] - public ulong Assignments { get; set; } -} diff --git a/Management/Models/CanvasModel/Analytics/TardinessModel.cs b/Management/Models/CanvasModel/Analytics/TardinessModel.cs deleted file mode 100644 index f07c008..0000000 --- a/Management/Models/CanvasModel/Analytics/TardinessModel.cs +++ /dev/null @@ -1,21 +0,0 @@ - - -namespace CanvasModel.Analytics; -public class TardinessModel -{ - - [JsonPropertyName("missing")] - public decimal Missing { get; set; } - - [JsonPropertyName("late")] - public decimal Late { get; set; } - - [JsonPropertyName("on_time")] - public decimal OnTime { get; set; } - - [JsonPropertyName("floating")] - public decimal Floating { get; set; } - - [JsonPropertyName("total")] - public decimal Total { get; set; } -} diff --git a/Management/Models/CanvasModel/Analytics/UserAssignmentDataModel.cs b/Management/Models/CanvasModel/Analytics/UserAssignmentDataModel.cs deleted file mode 100644 index d281a7a..0000000 --- a/Management/Models/CanvasModel/Analytics/UserAssignmentDataModel.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; - - -namespace CanvasModel.Analytics; -public struct UserAssignmentSubmissionDataModel -{ - - [JsonPropertyName("submitted_at")] - public DateTime? SubmittedAt { get; set; } - - [JsonPropertyName("score")] - public double? Score { get; set; } -} - -public class UserAssignmentDataModel -{ - - [JsonPropertyName("assignment_id")] - public ulong AssignmentId { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("points_possible")] - public double? PointsPossible { get; set; } - - [JsonPropertyName("due_at")] - public DateTime? DueAt { get; set; } - - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("muted")] - public bool? Muted { get; set; } - - [JsonPropertyName("min_score")] - public double? MinScore { get; set; } - - [JsonPropertyName("max_score")] - public double? MaxScore { get; set; } - - [JsonPropertyName("median")] - public double? Median { get; set; } - - [JsonPropertyName("first_quartile")] - public double? FirstQuartile { get; set; } - - [JsonPropertyName("third_quartile")] - public double? ThirdQuartile { get; set; } - - [JsonPropertyName("module_ids")] - public IEnumerable ModuleIds { get; set; } - - [JsonPropertyName("submission")] - public UserAssignmentSubmissionDataModel? Submission { get; set; } -} diff --git a/Management/Models/CanvasModel/Analytics/UserParticipationModel.cs b/Management/Models/CanvasModel/Analytics/UserParticipationModel.cs deleted file mode 100644 index b304e58..0000000 --- a/Management/Models/CanvasModel/Analytics/UserParticipationModel.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; - - -namespace CanvasModel.Analytics; -public struct UserParticipationModel -{ - - [JsonPropertyName("page_views")] - public Dictionary PageViews { get; set; } - - [JsonPropertyName("participations")] - public IEnumerable Participations { get; set; } -} - -public struct UserParticipationEventModel -{ - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("url")] - public string Url { get; set; } -} diff --git a/Management/Models/CanvasModel/Appointments/AppointmentGroupModel.cs b/Management/Models/CanvasModel/Appointments/AppointmentGroupModel.cs deleted file mode 100644 index 20bc7ac..0000000 --- a/Management/Models/CanvasModel/Appointments/AppointmentGroupModel.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using System.Collections.Generic; - - -using CanvasModel.Calendar; - -namespace CanvasModel.Appointments; - -public class AppointmentGroupModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("start_at")] - public DateTime StartAt { get; set; } - - [JsonPropertyName("end_at")] - public DateTime EndAt { get; set; } - - [JsonPropertyName("description")] - public string Description { get; set; } - - [JsonPropertyName("location_name")] - public string LocationName { get; set; } - - [JsonPropertyName("location_address")] - public string LocationAddress { get; set; } - - [JsonPropertyName("participant_count")] - public uint? ParticipantCount { get; set; } - - [JsonPropertyName("reserved_times")] - public IEnumerable ReservedTimes { get; set; } - - [JsonPropertyName("context_codes")] - public IEnumerable ContextCodes { get; set; } - - [JsonPropertyName("sub_context_codes")] - public IEnumerable SubContextCodes { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("requiring_action")] - public bool? RequiringAction { get; set; } - - [JsonPropertyName("appointments_count")] - public uint AppointmentsCount { get; set; } - - [JsonPropertyName("appointments")] - public IEnumerable Appointments { get; set; } - - [JsonPropertyName("new_appointments")] - public IEnumerable? NewAppointments { get; set; } - - [JsonPropertyName("max_appointments_per_participant")] - public uint? MaxAppointmentsPerParticipant { get; set; } - - [JsonPropertyName("min_appointments_per_participant")] - public uint? MinAppointmentsPerParticipant { get; set; } - - [JsonPropertyName("participants_per_appointment")] - public uint? ParticipantsPerAppointment { get; set; } - - [JsonPropertyName("participant_visibility")] - public string ParticipantVisibility { get; set; } - - [JsonPropertyName("participant_type")] - public string ParticipantType { get; set; } - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("html")] - public string HtmlUrl { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime UpdatedAt { get; set; } -} - diff --git a/Management/Models/CanvasModel/Appointments/AppointmentModel.cs b/Management/Models/CanvasModel/Appointments/AppointmentModel.cs deleted file mode 100644 index 071d8ee..0000000 --- a/Management/Models/CanvasModel/Appointments/AppointmentModel.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; - - -namespace CanvasModel.Appointments; - -public class AppointmentModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("start_at")] - public DateTime StartAt { get; set; } - - [JsonPropertyName("end_at")] - public DateTime EndAt { get; set; } -} - diff --git a/Management/Models/CanvasModel/Assignments/AssignmentDateModel.cs b/Management/Models/CanvasModel/Assignments/AssignmentDateModel.cs index 3edaf66..8f3eaa4 100644 --- a/Management/Models/CanvasModel/Assignments/AssignmentDateModel.cs +++ b/Management/Models/CanvasModel/Assignments/AssignmentDateModel.cs @@ -1,26 +1,22 @@ -using System; - - namespace CanvasModel.Assignments; -public class AssignmentDateModel -{ +public record AssignmentDateModel +( + [property: JsonPropertyName("title")] + string Title, - [JsonPropertyName("id")] - public ulong? Id { get; set; } + [property: JsonPropertyName("id")] + ulong? Id = null, - [JsonPropertyName("base")] - public bool? Base { get; set; } + [property: JsonPropertyName("base")] + bool? Base = null, - [JsonPropertyName("title")] - public string Title { get; set; } + [property: JsonPropertyName("due_at")] + DateTime? DueAt = null, - [JsonPropertyName("due_at")] - public DateTime? DueAt { get; set; } + [property: JsonPropertyName("unlock_at")] + DateTime? UnlockAt = null, - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("lock_at")] + DateTime? LockAt = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/AssignmentModel.cs b/Management/Models/CanvasModel/Assignments/AssignmentModel.cs index 84d1f21..82af5ec 100644 --- a/Management/Models/CanvasModel/Assignments/AssignmentModel.cs +++ b/Management/Models/CanvasModel/Assignments/AssignmentModel.cs @@ -1,212 +1,209 @@ -using System; -using System.Collections.Generic; - - using CanvasModel.Discussions; using CanvasModel.Submissions; namespace CanvasModel.Assignments; -public class AssignmentModel -{ - [JsonPropertyName("id")] - public ulong Id { get; set; } +public record AssignmentModel +( - [JsonPropertyName("name")] - public string Name { get; set; } + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("description")] - public string Description { get; set; } + [property: JsonPropertyName("name")] + string Name, - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } + [property: JsonPropertyName("description")] + string Description, - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } + [property: JsonPropertyName("created_at")] + DateTime CreatedAt, - [JsonPropertyName("due_at")] - public DateTime? DueAt { get; set; } + [property: JsonPropertyName("has_overrides")] + bool HasOverrides, - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } + [property: JsonPropertyName("course_id")] + ulong CourseId, - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } + [property: JsonPropertyName("html_url")] + string HtmlUrl, - [JsonPropertyName("has_overrides")] - public bool HasOverrides { get; set; } + [property: JsonPropertyName("submissions_download_url")] + string SubmissionsDownloadUrl, - [JsonPropertyName("all_dates")] - public IEnumerable? AllDates { get; set; } + [property: JsonPropertyName("assignment_group_id")] + ulong AssignmentGroupId, - [JsonPropertyName("course_id")] - public ulong CourseId { get; set; } + [property: JsonPropertyName("due_date_required")] + bool DueDateRequired, - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } + [property: JsonPropertyName("max_name_length")] + uint MaxNameLength, - [JsonPropertyName("submissions_download_url")] - public string SubmissionsDownloadUrl { get; set; } + [property: JsonPropertyName("peer_reviews")] + bool PeerReviews, - [JsonPropertyName("assignment_group_id")] - public ulong AssignmentGroupId { get; set; } + [property: JsonPropertyName("automatic_peer_reviews")] + bool AutomaticPeerReviews, - [JsonPropertyName("due_date_required")] - public bool DueDateRequired { get; set; } + [property: JsonPropertyName("position")] + ulong Position, - [JsonPropertyName("allowed_extensions")] - public IEnumerable? AllowedExtensions { get; set; } + [property: JsonPropertyName("grading_type")] + string GradingType, - [JsonPropertyName("max_name_length")] - public uint MaxNameLength { get; set; } + [property: JsonPropertyName("published")] + bool Published, - [JsonPropertyName("turnitin_enabled")] - public bool? TurnitinEnabled { get; set; } + [property: JsonPropertyName("unpublishable")] + bool Unpublishable, - [JsonPropertyName("vericite_enabled")] - public bool? VeriCiteEnabled { get; set; } + [property: JsonPropertyName("only_visible_to_overrides")] + bool OnlyVisibleToOverrides, - [JsonPropertyName("turnitin_settings")] - public TurnitinSettingsModel? TurnitinSettings { get; set; } + [property: JsonPropertyName("locked_for_user")] + bool LockedForUser, - [JsonPropertyName("grade_group_students_individually")] - public bool? GradeGroupStudentsIndividually { get; set; } + [property: JsonPropertyName("moderated_grading")] + bool ModeratedGrading, - [JsonPropertyName("external_tool_tag_attributes")] - public ExternalToolTagAttributesModel? ExternalToolTagAttributes { get; set; } + [property: JsonPropertyName("grader_count")] + uint GraderCount, - [JsonPropertyName("peer_reviews")] - public bool PeerReviews { get; set; } + [property: JsonPropertyName("allowed_attempts")] + int AllowedAttempts, - [JsonPropertyName("automatic_peer_reviews")] - public bool AutomaticPeerReviews { get; set; } + [property: JsonPropertyName("submission_types")] + IEnumerable SubmissionTypes, - [JsonPropertyName("peer_review_count")] - public uint? PeerReviewCount { get; set; } + [property: JsonPropertyName("updated_at")] + DateTime? UpdatedAt = null, - [JsonPropertyName("peer_reviews_assign_at")] - public DateTime? PeerReviewsAssignAt { get; set; } + [property: JsonPropertyName("due_at")] + DateTime? DueAt = null, - [JsonPropertyName("intra_group_peer_reviews")] - public bool? IntraGroupPeerReviews { get; set; } + [property: JsonPropertyName("lock_at")] + DateTime? LockAt = null, - [JsonPropertyName("group_category_id")] - public ulong? GroupCategoryId { get; set; } + [property: JsonPropertyName("unlock_at")] + DateTime? UnlockAt = null, - [JsonPropertyName("needs_grading_count")] - public uint? NeedsGradingCount { get; set; } + [property: JsonPropertyName("all_dates")] + IEnumerable? AllDates = null, - [JsonPropertyName("needs_grading_count_be_section")] - public IEnumerable? NeedsGradingCountBySection { get; set; } + [property: JsonPropertyName("allowed_extensions")] + IEnumerable? AllowedExtensions = null, - [JsonPropertyName("position")] - public ulong Position { get; set; } + [property: JsonPropertyName("turnitin_enabled")] + bool? TurnitinEnabled = null, - [JsonPropertyName("post_to_sis")] - public bool? PostToSis { get; set; } + [property: JsonPropertyName("vericite_enabled")] + bool? VeriCiteEnabled = null, - [JsonPropertyName("integration_id")] - public string? IntegrationId { get; set; } + [property: JsonPropertyName("turnitin_settings")] + TurnitinSettingsModel? TurnitinSettings = null, - [JsonPropertyName("integration_data")] - public object? IntegrationData { get; set; } + [property: JsonPropertyName("grade_group_students_individually")] + bool? GradeGroupStudentsIndividually = null, - [JsonPropertyName("muted")] - public bool? Muted { get; set; } + [property: JsonPropertyName("external_tool_tag_attributes")] + ExternalToolTagAttributesModel? ExternalToolTagAttributes = null, - [JsonPropertyName("points_possible")] - public double? PointsPossible { get; set; } + [property: JsonPropertyName("peer_review_count")] + uint? PeerReviewCount = null, - [JsonPropertyName("submission_types")] - public IEnumerable SubmissionTypes { get; set; } + [property: JsonPropertyName("peer_reviews_assign_at")] + DateTime? PeerReviewsAssignAt = null, - [JsonPropertyName("has_submitted_submissions")] - public bool? HasSubmittedSubmissions { get; set; } + [property: JsonPropertyName("intra_group_peer_reviews")] + bool? IntraGroupPeerReviews = null, - [JsonPropertyName("grading_type")] - public string GradingType { get; set; } + [property: JsonPropertyName("group_category_id")] + ulong? GroupCategoryId = null, - [JsonPropertyName("grading_standard_id")] - public ulong? GradingStandardId { get; set; } + [property: JsonPropertyName("needs_grading_count")] + uint? NeedsGradingCount = null, - [JsonPropertyName("published")] - public bool Published { get; set; } + [property: JsonPropertyName("needs_grading_count_be_section")] + IEnumerable? NeedsGradingCountBySection = null, - [JsonPropertyName("unpublishable")] - public bool Unpublishable { get; set; } + [property: JsonPropertyName("post_to_sis")] + bool? PostToSis = null, - [JsonPropertyName("only_visible_to_overrides")] - public bool OnlyVisibleToOverrides { get; set; } + [property: JsonPropertyName("integration_id")] + string? IntegrationId = null, - [JsonPropertyName("locked_for_user")] - public bool LockedForUser { get; set; } + [property: JsonPropertyName("integration_data")] + object? IntegrationData = null, - [JsonPropertyName("lock_info")] - public LockInfoModel? LockInfo { get; set; } + [property: JsonPropertyName("muted")] + bool? Muted = null, - [JsonPropertyName("lock_explanation")] - public string? LockExplanation { get; set; } + [property: JsonPropertyName("points_possible")] + double? PointsPossible = null, - [JsonPropertyName("quiz_id")] - public ulong? QuizId { get; set; } + [property: JsonPropertyName("has_submitted_submissions")] + bool? HasSubmittedSubmissions = null, - [JsonPropertyName("anonymous_submissions")] - public bool? AnonymousSubmissions { get; set; } + [property: JsonPropertyName("grading_standard_id")] + ulong? GradingStandardId = null, - [JsonPropertyName("discussion_topic")] - public DiscussionTopicModel? DiscussionTopic { get; set; } + [property: JsonPropertyName("lock_info")] + LockInfoModel? LockInfo = null, - [JsonPropertyName("freeze_on_copy")] - public bool? FreezeOnCopy { get; set; } + [property: JsonPropertyName("lock_explanation")] + string? LockExplanation = null, - [JsonPropertyName("frozen")] - public bool? Frozen { get; set; } + [property: JsonPropertyName("quiz_id")] + ulong? QuizId = null, - [JsonPropertyName("frozen_attributes")] - public IEnumerable? FrozenAttributes { get; set; } + [property: JsonPropertyName("anonymous_submissions")] + bool? AnonymousSubmissions = null, - [JsonPropertyName("submission")] - public SubmissionModel? Submission { get; set; } + [property: JsonPropertyName("discussion_topic")] + DiscussionTopicModel? DiscussionTopic = null, - [JsonPropertyName("use_rubric_for_grading")] - public bool? UseRubricForGrading { get; set; } + [property: JsonPropertyName("freeze_on_copy")] + bool? FreezeOnCopy = null, - [JsonPropertyName("rubric_settings")] - public object? RubricSettings { get; set; } // again, docs give no concrete type. + [property: JsonPropertyName("frozen")] + bool? Frozen = null, - [JsonPropertyName("rubric")] - public IEnumerable? Rubric { get; set; } + [property: JsonPropertyName("frozen_attributes")] + IEnumerable? FrozenAttributes = null, - [JsonPropertyName("assignment_visibility")] - public IEnumerable? AssignmentVisibility { get; set; } + [property: JsonPropertyName("submission")] + SubmissionModel? Submission = null, - [JsonPropertyName("overrides")] - public IEnumerable? Overrides { get; set; } + [property: JsonPropertyName("use_rubric_for_grading")] + bool? UseRubricForGrading = null, - [JsonPropertyName("omit_from_final_grade")] - public bool? OmitFromFinalGrade { get; set; } + [property: JsonPropertyName("rubric_settings")] + object? RubricSettings = null, - [JsonPropertyName("moderated_grading")] - public bool ModeratedGrading { get; set; } + [property: JsonPropertyName("rubric")] + IEnumerable? Rubric = null, - [JsonPropertyName("grader_count")] - public uint GraderCount { get; set; } + [property: JsonPropertyName("assignment_visibility")] + IEnumerable? AssignmentVisibility = null, - [JsonPropertyName("final_grader_id")] - public ulong? FinalGraderId { get; set; } + [property: JsonPropertyName("overrides")] + IEnumerable? Overrides = null, - [JsonPropertyName("grader_comments_visible_to_graders")] - public bool? GraderCommentsVisibleToGraders { get; set; } + [property: JsonPropertyName("omit_from_final_grade")] + bool? OmitFromFinalGrade = null, - [JsonPropertyName("graders_anonymous_to_graders")] - public bool? GradersAnonymousToGraders { get; set; } + [property: JsonPropertyName("final_grader_id")] + ulong? FinalGraderId = null, - [JsonPropertyName("grader_names_anonymous_to_final_grader")] - public bool? GraderNamesVisibleToFinalGrader { get; set; } + [property: JsonPropertyName("grader_comments_visible_to_graders")] + bool? GraderCommentsVisibleToGraders = null, - [JsonPropertyName("anonymous_grading")] - public bool? AnonymousGrading { get; set; } + [property: JsonPropertyName("graders_anonymous_to_graders")] + bool? GradersAnonymousToGraders = null, - [JsonPropertyName("allowed_attempts")] - public int AllowedAttempts { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("grader_names_anonymous_to_final_grader")] + bool? GraderNamesVisibleToFinalGrader = null, + + [property: JsonPropertyName("anonymous_grading")] + bool? AnonymousGrading = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/AssignmentOverrideModel.cs b/Management/Models/CanvasModel/Assignments/AssignmentOverrideModel.cs index b0bc31d..1cd84f6 100644 --- a/Management/Models/CanvasModel/Assignments/AssignmentOverrideModel.cs +++ b/Management/Models/CanvasModel/Assignments/AssignmentOverrideModel.cs @@ -1,42 +1,38 @@ -using System; -using System.Collections.Generic; - - - namespace CanvasModel.Assignments; -public class AssignmentOverrideModel -{ - [JsonPropertyName("id")] - public ulong Id { get; set; } +public record AssignmentOverrideModel +( - [JsonPropertyName("assignment_id")] - public ulong AssignmentId { get; set; } + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("student_ids")] - public IEnumerable? StudentIds { get; set; } + [property: JsonPropertyName("assignment_id")] + ulong AssignmentId, - [JsonPropertyName("group_id")] - public ulong? GroupId { get; set; } + [property: JsonPropertyName("course_section_ids")] + ulong CourseSectionId, - [JsonPropertyName("course_section_ids")] - public ulong CourseSectionId { get; set; } + [property: JsonPropertyName("title")] + string Title, - [JsonPropertyName("title")] - public string Title { get; set; } + [property: JsonPropertyName("student_ids")] + IEnumerable? StudentIds = null, - [JsonPropertyName("due_at")] - public DateTime? DueAt { get; set; } + [property: JsonPropertyName("group_id")] + ulong? GroupId = null, - [JsonPropertyName("all_day")] - public bool? AllDay { get; set; } + [property: JsonPropertyName("due_at")] + DateTime? DueAt = null, - [JsonPropertyName("all_day_date")] - public DateTime? AllDayDate { get; set; } + [property: JsonPropertyName("all_day")] + bool? AllDay = null, - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } + [property: JsonPropertyName("all_day_date")] + DateTime? AllDayDate = null, - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("unlock_at")] + DateTime? UnlockAt = null, + + [property: JsonPropertyName("lock_at")] + DateTime? LockAt = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/ExternalToolTagAttributesModel.cs b/Management/Models/CanvasModel/Assignments/ExternalToolTagAttributesModel.cs index b83daf0..b90b899 100644 --- a/Management/Models/CanvasModel/Assignments/ExternalToolTagAttributesModel.cs +++ b/Management/Models/CanvasModel/Assignments/ExternalToolTagAttributesModel.cs @@ -1,15 +1,13 @@ - - namespace CanvasModel.Assignments; -public class ExternalToolTagAttributesModel -{ - [JsonPropertyName("url")] - public string Url { get; set; } +public record ExternalToolTagAttributesModel +( + [property: JsonPropertyName("url")] + string Url, - [JsonPropertyName("new_tab")] - public bool? NewTab { get; set; } + [property: JsonPropertyName("resource_link_id")] + string ResourceLinkId, - [JsonPropertyName("resource_link_id")] - public string ResourceLinkId { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("new_tab")] + bool? NewTab = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/LockInfoModel.cs b/Management/Models/CanvasModel/Assignments/LockInfoModel.cs index 152f9d3..76d42a6 100644 --- a/Management/Models/CanvasModel/Assignments/LockInfoModel.cs +++ b/Management/Models/CanvasModel/Assignments/LockInfoModel.cs @@ -1,23 +1,19 @@ -using System; - - - namespace CanvasModel.Assignments; -public class LockInfoModel -{ - [JsonPropertyName("asset_string")] - public string AssetString { get; set; } +public record LockInfoModel +( + [property: JsonPropertyName("asset_string")] + string AssetString, - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } + [property: JsonPropertyName("unlock_at")] + DateTime? UnlockAt = null, - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } + [property: JsonPropertyName("lock_at")] + DateTime? LockAt = null, - [JsonPropertyName("context_module")] - public object? ContextModule { get; set; } + [property: JsonPropertyName("context_module")] + object? ContextModule = null, - [JsonPropertyName("manually_locked")] - public bool? ManuallyLocked { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("manually_locked")] + bool? ManuallyLocked = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/NeedsGradingCountModel.cs b/Management/Models/CanvasModel/Assignments/NeedsGradingCountModel.cs index 5ffe83a..76f0f34 100644 --- a/Management/Models/CanvasModel/Assignments/NeedsGradingCountModel.cs +++ b/Management/Models/CanvasModel/Assignments/NeedsGradingCountModel.cs @@ -1,12 +1,10 @@ - - namespace CanvasModel.Assignments; -public class NeedsGradingCountModel -{ - [JsonPropertyName("section_id")] - public string SectionId { get; set; } +public record NeedsGradingCountModel +( + [property: JsonPropertyName("section_id")] + string SectionId, - [JsonPropertyName("needs_grading_count")] - public uint NeedsGradingCount { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("needs_grading_count")] + uint NeedsGradingCount +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/RubricCriteriaModel.cs b/Management/Models/CanvasModel/Assignments/RubricCriteriaModel.cs index ec4d216..2fcc3ef 100644 --- a/Management/Models/CanvasModel/Assignments/RubricCriteriaModel.cs +++ b/Management/Models/CanvasModel/Assignments/RubricCriteriaModel.cs @@ -1,36 +1,30 @@ -using System.Collections.Generic; - - - namespace CanvasModel.Assignments; -public class RubricCriteriaModel -{ +public record RubricCriteriaModel +( + [property: JsonPropertyName("id")] + string Id, - [JsonPropertyName("points")] - public double? Points { get; set; } + [property: JsonPropertyName("description")] + string Description, - [JsonPropertyName("id")] - public string Id { get; set; } + [property: JsonPropertyName("long_description")] + string LongDescription, - [JsonPropertyName("learning_outcome_id")] - public string? LearningOutcomeId { get; set; } + [property: JsonPropertyName("points")] + double? Points, + [property: JsonPropertyName("learning_outcome_id")] + string? LearningOutcomeId, - [JsonPropertyName("vendor_guid")] - public string? VendorGuid { get; set; } + [property: JsonPropertyName("vendor_guid")] + string? VendorGuid, - [JsonPropertyName("description")] - public string Description { get; set; } + [property: JsonPropertyName("criterion_use_range")] + bool? CriterionUseRange = null, - [JsonPropertyName("long_description")] - public string LongDescription { get; set; } + [property: JsonPropertyName("ratings")] + IEnumerable? Ratings = null, - [JsonPropertyName("criterion_use_range")] - public bool? CriterionUseRange { get; set; } - - [JsonPropertyName("ratings")] - public IEnumerable? Ratings { get; set; } - - [JsonPropertyName("ignore_for_scoring")] - public bool? IgnoreForScoring { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("ignore_for_scoring")] + bool? IgnoreForScoring = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/RubricRatingModel.cs b/Management/Models/CanvasModel/Assignments/RubricRatingModel.cs index 61cc89d..5933386 100644 --- a/Management/Models/CanvasModel/Assignments/RubricRatingModel.cs +++ b/Management/Models/CanvasModel/Assignments/RubricRatingModel.cs @@ -1,18 +1,16 @@ - - namespace CanvasModel.Assignments; -public class RubricRatingModel -{ - [JsonPropertyName("points")] - public double Points { get; set; } +public record RubricRatingModel +( + [property: JsonPropertyName("points")] + double Points, - [JsonPropertyName("id")] - public string Id { get; set; } + [property: JsonPropertyName("id")] + string Id, - [JsonPropertyName("description")] - public string Description { get; set; } + [property: JsonPropertyName("description")] + string Description, - [JsonPropertyName("long_description")] - public string LongDescription { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("long_description")] + string LongDescription +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Assignments/TurnitinSettingsModel.cs b/Management/Models/CanvasModel/Assignments/TurnitinSettingsModel.cs index fce1145..44593bd 100644 --- a/Management/Models/CanvasModel/Assignments/TurnitinSettingsModel.cs +++ b/Management/Models/CanvasModel/Assignments/TurnitinSettingsModel.cs @@ -1,30 +1,28 @@ - - namespace CanvasModel.Assignments; -public class TurnitinSettingsModel -{ - [JsonPropertyName("originality_report_visibility")] - public string OriginalityReportVisibility { get; set; } +public record TurnitinSettingsModel +( + [property: JsonPropertyName("originality_report_visibility")] + string OriginalityReportVisibility, - [JsonPropertyName("s_paper_check")] - public bool SPaperCheck { get; set; } + [property: JsonPropertyName("s_paper_check")] + bool SPaperCheck, - [JsonPropertyName("internet_check")] - public bool InternetCheck { get; set; } + [property: JsonPropertyName("internet_check")] + bool InternetCheck, - [JsonPropertyName("journal_check")] - public bool JournalCheck { get; set; } + [property: JsonPropertyName("journal_check")] + bool JournalCheck, - [JsonPropertyName("exclude_biblio")] - public bool ExcludeBiblio { get; set; } + [property: JsonPropertyName("exclude_biblio")] + bool ExcludeBiblio, - [JsonPropertyName("exclude_quoted")] - public bool ExcludeQuoted { get; set; } + [property: JsonPropertyName("exclude_quoted")] + bool ExcludeQuoted, - [JsonPropertyName("exclude_small_matches_type")] - public bool? ExcludeSmallMatchesType { get; set; } + [property: JsonPropertyName("exclude_small_matches_type")] + bool? ExcludeSmallMatchesType = null, - [JsonPropertyName("exclude_small_matches_value")] - public uint? ExcludeSmallMatchesValue { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("exclude_small_matches_value")] + uint? ExcludeSmallMatchesValue = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Authentications/AuthenticationEventModel.cs b/Management/Models/CanvasModel/Authentications/AuthenticationEventModel.cs deleted file mode 100644 index f1b2668..0000000 --- a/Management/Models/CanvasModel/Authentications/AuthenticationEventModel.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; - - -namespace CanvasModel.Authentications; -// NOTE: the api documentation for this model is incorrect -public class AuthenticationEventModel -{ - - [JsonPropertyName("id")] - public string Id { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("event_type")] - public string EventType { get; set; } - - [JsonPropertyName("links")] - public AuthenticationEventLinksModel Links { get; set; } -} - -public struct AuthenticationEventLinksModel -{ - - [JsonPropertyName("login")] - public ulong Login { get; set; } - - [JsonPropertyName("account")] - public ulong Account { get; set; } - - [JsonPropertyName("user")] - public ulong User { get; set; } - - [JsonPropertyName("page_view")] - public ulong? PageView { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Authentications/AuthenticationEventsResponseModel.cs b/Management/Models/CanvasModel/Authentications/AuthenticationEventsResponseModel.cs deleted file mode 100644 index 97b6641..0000000 --- a/Management/Models/CanvasModel/Authentications/AuthenticationEventsResponseModel.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Collections.Generic; - - -namespace CanvasModel.Authentications; -public struct AuthenticationEventsResponseModel -{ - - [JsonPropertyName("events")] - public IEnumerable Events { get; set; } - -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Calendar/AssignmentEventModel.cs b/Management/Models/CanvasModel/Calendar/AssignmentEventModel.cs deleted file mode 100644 index 77e15af..0000000 --- a/Management/Models/CanvasModel/Calendar/AssignmentEventModel.cs +++ /dev/null @@ -1,53 +0,0 @@ -namespace CanvasModel.Calendar; - -public record AssignmentEventModel -{ - - // // A synthetic ID for the assignment - // "id": "assignment_987", - [JsonPropertyName("id")] - public string Id { get; set; } - // // The title of the assignment - // "title": "Essay", - [JsonPropertyName("title")] - public string Title { get; set; } - // // The due_at timestamp of the assignment - // "start_at": "2012-07-19T23:59:00-06:00", - [JsonPropertyName("start_at")] - public DateTime StartAt { get; set; } - // // The due_at timestamp of the assignment - // "end_at": "2012-07-19T23:59:00-06:00", - [JsonPropertyName("end_at")] - public DateTime EndAt { get; set; } - // // The HTML description of the assignment - // "description": "Write an essay. Whatever you want.", - [JsonPropertyName("description")] - public string Description { get; set; } - // // the context code of the (course) calendar this assignment belongs to - // "context_code": "course_123", - // // Current state of the assignment ('published' or 'deleted') - // "workflow_state": "published", - // // URL for this assignment (note that updating/deleting should be done via the - // // Assignments API) - // "url": "https://example.com/api/v1/calendar_events/assignment_987", - // // URL for a user to view this assignment - // "html_url": "http://example.com/courses/123/assignments/987", - // // The due date of this assignment - // "all_day_date": "2012-07-19", - // // Boolean indicating whether this is an all-day event (e.g. assignment due at - // // midnight) - // "all_day": true, - // // When the assignment was created - // "created_at": "2012-07-12T10:55:20-06:00", - // // When the assignment was last updated - // "updated_at": "2012-07-12T10:55:20-06:00", - // // The full assignment JSON data (See the Assignments API) - // "assignment": null, - // // The list of AssignmentOverrides that apply to this event (See the Assignments - // // API). This information is useful for determining which students or sections - // // this assignment-due event applies to. - // "assignment_overrides": null, - // // Boolean indicating whether this has important dates. - // "important_dates": true - -} diff --git a/Management/Models/CanvasModel/Calendar/CalendarEventModel.cs b/Management/Models/CanvasModel/Calendar/CalendarEventModel.cs deleted file mode 100644 index 5c2a402..0000000 --- a/Management/Models/CanvasModel/Calendar/CalendarEventModel.cs +++ /dev/null @@ -1,126 +0,0 @@ -using System; -using System.Collections.Generic; - - -using CanvasModel.Assignments; -using CanvasModel.Groups; -using CanvasModel.Users; - -namespace CanvasModel.Calendar; - -/* - * This class combines the fields of normal, reservation, time-slot, and assignment calendar events. - * Concrete structure classes will specialize to these types and inherit from a common base. - */ - -public record CalendarEventModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("start_at")] - public DateTime StartAt { get; set; } - - [JsonPropertyName("end_at")] - public DateTime EndAt { get; set; } - - [JsonPropertyName("type")] - public string Type { get; set; } - - [JsonPropertyName("description")] - public string Description { get; set; } - - [JsonPropertyName("location_name")] - public string LocationName { get; set; } - - [JsonPropertyName("location_address")] - public string LocationAddress { get; set; } - - [JsonPropertyName("context_code")] - public string ContextCode { get; set; } - - [JsonPropertyName("effective_context_code")] - public string? EffectiveContextCode { get; set; } - - [JsonPropertyName("all_context_codes")] - public string AllContextCodes { get; set; } // comma separated - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("hidden")] - public bool Hidden { get; set; } - - [JsonPropertyName("parent_event_id")] - public string? ParentEventId { get; set; } - - [JsonPropertyName("child_events_count")] - public uint? ChildEventsCount { get; set; } - - [JsonPropertyName("child_events")] - public IEnumerable? ChildEvents { get; set; } - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } - - [JsonPropertyName("all_day_date")] - public DateTime? AllDayDate { get; set; } - - [JsonPropertyName("all_day")] - public bool AllDay { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime UpdatedAt { get; set; } - - [JsonPropertyName("appointment_group_id")] - public ulong AppointmentGroupId { get; set; } - - [JsonPropertyName("appointment_group_url")] - public string AppointmentGroupUrl { get; set; } - - [JsonPropertyName("own_reservation")] - public bool? OwnReservation { get; set; } - - [JsonPropertyName("reserve_url")] - public string? ReserveUrl { get; set; } - - [JsonPropertyName("reserved")] - public bool? Reserved { get; set; } - - [JsonPropertyName("participant_type")] - public string ParticipantType { get; set; } // User|Group - - [JsonPropertyName("participant_limit")] - public uint? ParticipantLimit { get; set; } - - [JsonPropertyName("available_slots")] - public uint? AvailableSlots { get; set; } - - [JsonPropertyName("user")] - public UserModel? User { get; set; } - - [JsonPropertyName("group")] - public GroupModel? Group { get; set; } - - [JsonPropertyName("assignment")] - public AssignmentModel? Assignment { get; set; } - - [JsonPropertyName("assignment_overrides")] - public IEnumerable? AssignmentOverrides { get; set; } - - [JsonPropertyName("can_manage_appointment_group")] - public bool? CanManageAppointmentGroup { get; set; } // undocumented - - [JsonPropertyName("participants_per_appointment")] - public uint? ParticipantsPerAppointment { get; set; } -} diff --git a/Management/Models/CanvasModel/ContentShares/ContentExportIdModel.cs b/Management/Models/CanvasModel/ContentShares/ContentExportIdModel.cs deleted file mode 100644 index 406d14b..0000000 --- a/Management/Models/CanvasModel/ContentShares/ContentExportIdModel.cs +++ /dev/null @@ -1,9 +0,0 @@ - - -namespace CanvasModel.ContentShares; -public struct ContentExportIdModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } -} diff --git a/Management/Models/CanvasModel/ContentShares/ContentShareModel.cs b/Management/Models/CanvasModel/ContentShares/ContentShareModel.cs deleted file mode 100644 index 6aa506f..0000000 --- a/Management/Models/CanvasModel/ContentShares/ContentShareModel.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Collections.Generic; - - -using CanvasModel.Courses; -using CanvasModel.Users; - -namespace CanvasModel.ContentShares; -public class ContentShareModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("content_type")] - public string ContentType { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } - - [JsonPropertyName("user_id")] - public ulong? UserId { get; set; } - - [JsonPropertyName("sender")] - public ShortUserModel? Sender { get; set; } - - [JsonPropertyName("receivers")] - public IEnumerable? Receivers { get; set; } - - [JsonPropertyName("source_course")] - public ShortCourseModel? SourceCourse { get; set; } - - [JsonPropertyName("read_state")] - public string ReadState { get; set; } - - [JsonPropertyName("content_export")] - public ContentExportIdModel? ContentExport { get; set; } -} diff --git a/Management/Models/CanvasModel/Conversations/ConversationMessageModel.cs b/Management/Models/CanvasModel/Conversations/ConversationMessageModel.cs deleted file mode 100644 index 3b2b1de..0000000 --- a/Management/Models/CanvasModel/Conversations/ConversationMessageModel.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; - - -using CanvasModel.Discussions; -using CanvasModel.Submissions; - -namespace CanvasModel.Conversations; -public class ConversationMessageModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("body")] - public string Body { get; set; } - - [JsonPropertyName("author_id")] - public ulong AuthorId { get; set; } - - [JsonPropertyName("generated")] - public bool Generated { get; set; } - - [JsonPropertyName("media_comment")] - public MediaCommentModel? MediaComment { get; set; } - - [JsonPropertyName("forwarded_messages")] - public IEnumerable ForwardedMessages { get; set; } - - [JsonPropertyName("attachments")] - public IEnumerable Attachments { get; set; } -} diff --git a/Management/Models/CanvasModel/Conversations/ConversationModel.cs b/Management/Models/CanvasModel/Conversations/ConversationModel.cs deleted file mode 100644 index df8d0c7..0000000 --- a/Management/Models/CanvasModel/Conversations/ConversationModel.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; - - - -namespace CanvasModel.Conversations; -public class ConversationModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("subject")] - public string Subject { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("last_message")] - public string LastMessage { get; set; } - - [JsonPropertyName("last_message_at")] - public DateTime? LastMessageAt { get; set; } - - [JsonPropertyName("message_count")] - public uint MessageCount { get; set; } - - [JsonPropertyName("subscribed")] - public bool? Subscribed { get; set; } - - [JsonPropertyName("private")] - public bool? Private { get; set; } - - [JsonPropertyName("starred")] - public bool? Starred { get; set; } - - [JsonPropertyName("properties")] - public IEnumerable? Properties { get; set; } - - [JsonPropertyName("audience")] - public IEnumerable? Audience { get; set; } - - [JsonPropertyName("audience_contexts")] - public Dictionary>>? AudienceContexts { get; set; } - - [JsonPropertyName("avatar_url")] - public string AvatarUrl { get; set; } - - [JsonPropertyName("participants")] - public IEnumerable? Participants { get; set; } - - [JsonPropertyName("visible")] - public bool? Visible { get; set; } - - [JsonPropertyName("context_name")] - public string ContextName { get; set; } -} diff --git a/Management/Models/CanvasModel/Conversations/ConversationParticipantModel.cs b/Management/Models/CanvasModel/Conversations/ConversationParticipantModel.cs deleted file mode 100644 index 9d34c73..0000000 --- a/Management/Models/CanvasModel/Conversations/ConversationParticipantModel.cs +++ /dev/null @@ -1,19 +0,0 @@ - - - -namespace CanvasModel.Conversations; -public class ConversationParticipantModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("full_name")] - public string FullName { get; set; } - - [JsonPropertyName("avatar_url")] - public string? AvatarUrl { get; set; } -} diff --git a/Management/Models/CanvasModel/Conversations/DetailedConversationModel.cs b/Management/Models/CanvasModel/Conversations/DetailedConversationModel.cs deleted file mode 100644 index d36c3ec..0000000 --- a/Management/Models/CanvasModel/Conversations/DetailedConversationModel.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Collections.Generic; - - -namespace CanvasModel.Conversations; -public class DetailedConversationModel : ConversationModel -{ - - [JsonPropertyName("messages")] - public IEnumerable Messages { get; set; } - -} diff --git a/Management/Models/CanvasModel/Courses/CourseModel.cs b/Management/Models/CanvasModel/Courses/CourseModel.cs index 9c84344..e0b907e 100644 --- a/Management/Models/CanvasModel/Courses/CourseModel.cs +++ b/Management/Models/CanvasModel/Courses/CourseModel.cs @@ -1,151 +1,53 @@ -using System; -using System.Collections.Generic; - - using CanvasModel.Enrollments; namespace CanvasModel.Courses; -public class CourseModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("sis_course_id")] - public string SisCourseId { get; set; } - - [JsonPropertyName("uuid")] - public string Uuid { get; set; } - - [JsonPropertyName("integration_id")] - public string IntegrationId { get; set; } - - [JsonPropertyName("sis_import_id")] - public ulong? SisImportId { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("course_code")] - public string CourseCode { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("account_id")] - public ulong AccountId { get; set; } - - [JsonPropertyName("root_account_id")] - public ulong RootAccountId { get; set; } - - [JsonPropertyName("enrollment_term_id")] - public ulong EnrollmentTermId { get; set; } - - [JsonPropertyName("grading_standard_id")] - public ulong? GradingStandardId { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("start_at")] - public DateTime? StartAt { get; set; } - - [JsonPropertyName("end_at")] - public DateTime? EndAt { get; set; } - - [JsonPropertyName("locale")] - public string Locale { get; set; } - - [JsonPropertyName("enrollments")] - public IEnumerable? Enrollments { get; set; } - - [JsonPropertyName("total_students")] - public ulong? TotalStudents { get; set; } - - [JsonPropertyName("calendar")] - public CalendarLinkModel Calendar { get; set; } - - [JsonPropertyName("default_view")] - public string DefaultView { get; set; } - - [JsonPropertyName("syllabus_body")] - public string SyllabusBody { get; set; } - - [JsonPropertyName("needs_grading_count")] - public uint? NeedsGradingCount { get; set; } - - [JsonPropertyName("term")] - public TermModel? Term { get; set; } - - [JsonPropertyName("course_progress")] - public CourseProgressModel? CourseProgress { get; set; } - - [JsonPropertyName("apply_assignment_group_weights")] - public bool? ApplyAssignmentGroupWeights { get; set; } - - [JsonPropertyName("permissions")] - public Dictionary Permissions { get; set; } - - [JsonPropertyName("is_public")] - public bool? IsPublic { get; set; } - - [JsonPropertyName("is_public_to_auth_users")] - public bool? IsPublicToAuthUsers { get; set; } - - [JsonPropertyName("public_syllabus")] - public bool? PublicSyllabus { get; set; } - - [JsonPropertyName("public_syllabus_to_auth")] - public bool? PublicSyllabusToAuth { get; set; } - - [JsonPropertyName("public_description")] - public string? PublicDescription { get; set; } - - [JsonPropertyName("storage_quota_mb")] - public ulong StorageQuotaMb { get; set; } - - [JsonPropertyName("storage_quota_used_mb")] - public ulong StorageQuotaUsedMb { get; set; } - - [JsonPropertyName("hide_final_grades")] - public bool? HideFinalGrades { get; set; } - - [JsonPropertyName("license")] - public string License { get; set; } - - [JsonPropertyName("allow_student_assignment_edits")] - public bool? AllowStudentAssignmentEdits { get; set; } - - [JsonPropertyName("allow_wiki_comments")] - public bool? AllowWikiComments { get; set; } - - [JsonPropertyName("allow_student_forum_attachments")] - public bool? AllowStudentForumAttachments { get; set; } - - [JsonPropertyName("open_enrollment")] - public bool? OpenEnrollment { get; set; } - - [JsonPropertyName("self_enrollment")] - public bool? SelfEnrollment { get; set; } - - [JsonPropertyName("restrict_enrollments_to_courses")] - public bool? RestrictEnrollmentsToCourseDates { get; set; } - - [JsonPropertyName("course_format")] - public string CourseFormat { get; set; } - - [JsonPropertyName("access_restricted_by_date")] - public bool? AccessRestrictedByDate { get; set; } - - [JsonPropertyName("time_zone")] - public string TimeZone { get; set; } - - [JsonPropertyName("blueprint")] - public bool? Blueprint { get; set; } - - [JsonPropertyName("blueprint_restrictions")] - public Dictionary? BlueprintRestrictions { get; set; } - - [JsonPropertyName("blueprint_restrictions_by_object_type")] - public Dictionary>? BlueprintRestrictionsByObjectType { get; set; } -} \ No newline at end of file +public record CourseModel +( + [property: JsonPropertyName("id")] ulong Id, + [property: JsonPropertyName("sis_course_id")] string SisCourseId, + [property: JsonPropertyName("uuid")] string Uuid, + [property: JsonPropertyName("integration_id")] string IntegrationId, + [property: JsonPropertyName("name")] string Name, + [property: JsonPropertyName("course_code")] string CourseCode, + [property: JsonPropertyName("workflow_state")] string WorkflowState, + [property: JsonPropertyName("account_id")] ulong AccountId, + [property: JsonPropertyName("root_account_id")] ulong RootAccountId, + [property: JsonPropertyName("enrollment_term_id")] ulong EnrollmentTermId, + [property: JsonPropertyName("created_at")] DateTime CreatedAt, + [property: JsonPropertyName("locale")] string Locale, + [property: JsonPropertyName("calendar")] CalendarLinkModel Calendar, + [property: JsonPropertyName("default_view")] string DefaultView, + [property: JsonPropertyName("syllabus_body")] string SyllabusBody, + [property: JsonPropertyName("permissions")] Dictionary Permissions, + [property: JsonPropertyName("storage_quota_mb")] ulong StorageQuotaMb, + [property: JsonPropertyName("storage_quota_used_mb")] ulong StorageQuotaUsedMb, + [property: JsonPropertyName("license")] string License, + [property: JsonPropertyName("course_format")] string CourseFormat, + [property: JsonPropertyName("time_zone")] string TimeZone, + [property: JsonPropertyName("sis_import_id")] ulong? SisImportId = null, + [property: JsonPropertyName("grading_standard_id")] ulong? GradingStandardId = null, + [property: JsonPropertyName("start_at")] DateTime? StartAt = null, + [property: JsonPropertyName("end_at")] DateTime? EndAt = null, + [property: JsonPropertyName("enrollments")] IEnumerable? Enrollments = null, + [property: JsonPropertyName("total_students")] ulong? TotalStudents = null, + [property: JsonPropertyName("needs_grading_count")] uint? NeedsGradingCount = null, + [property: JsonPropertyName("term")] TermModel? Term = null, + [property: JsonPropertyName("course_progress")] CourseProgressModel? CourseProgress = null, + [property: JsonPropertyName("apply_assignment_group_weights")] bool? ApplyAssignmentGroupWeights = null, + [property: JsonPropertyName("is_public")] bool? Is= null, + [property: JsonPropertyName("is_public_to_auth_users")] bool? IsPublicToAuthUsers = null, + [property: JsonPropertyName("public_syllabus")] bool? PublicSyllabus = null, + [property: JsonPropertyName("public_syllabus_to_auth")] bool? PublicSyllabusToAuth = null, + [property: JsonPropertyName("public_description")] string? PublicDescription = null, + [property: JsonPropertyName("hide_final_grades")] bool? HideFinalGrades = null, + [property: JsonPropertyName("allow_student_assignment_edits")] bool? AllowStudentAssignmentEdits = null, + [property: JsonPropertyName("allow_wiki_comments")] bool? AllowWikiComments = null, + [property: JsonPropertyName("allow_student_forum_attachments")] bool? AllowStudentForumAttachments = null, + [property: JsonPropertyName("open_enrollment")] bool? OpenEnrollment = null, + [property: JsonPropertyName("self_enrollment")] bool? SelfEnrollment = null, + [property: JsonPropertyName("restrict_enrollments_to_courses")] bool? RestrictEnrollmentsToCourseDates = null, + [property: JsonPropertyName("access_restricted_by_date")] bool? AccessRestrictedByDate = null, + [property: JsonPropertyName("blueprint")] bool? Blueprint = null, + [property: JsonPropertyName("blueprint_restrictions")] Dictionary? BlueprintRestrictions = null, + [property: JsonPropertyName("blueprint_restrictions_by_object_type")] Dictionary>? BlueprintRestrictionsByObjectType = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Courses/CourseProgressModel.cs b/Management/Models/CanvasModel/Courses/CourseProgressModel.cs index ec8394c..c90dae9 100644 --- a/Management/Models/CanvasModel/Courses/CourseProgressModel.cs +++ b/Management/Models/CanvasModel/Courses/CourseProgressModel.cs @@ -1,20 +1,16 @@ -using System; - - namespace CanvasModel.Courses; -public class CourseProgressModel -{ +public record CourseProgressModel +( + [property: JsonPropertyName("requirement_count")] + uint? RequirementCount = null, + + [property: JsonPropertyName("requirement_completed_count")] + uint? RequirementCompletedCount = null, - [JsonPropertyName("requirement_count")] - public uint? RequirementCount { get; set; } + [property: JsonPropertyName("next_requirement_url")] + string? NextRequirementUrl = null, - [JsonPropertyName("requirement_completed_count")] - public uint? RequirementCompletedCount { get; set; } - - [JsonPropertyName("next_requirement_url")] - public string? NextRequirementUrl { get; set; } - - [JsonPropertyName("completed_at")] - public DateTime? CompletedAt { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("completed_at")] + DateTime? CompletedAt = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Courses/CourseSettingsModel.cs b/Management/Models/CanvasModel/Courses/CourseSettingsModel.cs index dfa93de..cb390af 100644 --- a/Management/Models/CanvasModel/Courses/CourseSettingsModel.cs +++ b/Management/Models/CanvasModel/Courses/CourseSettingsModel.cs @@ -1,48 +1,46 @@ - - namespace CanvasModel.Courses; -public class CourseSettingsModel -{ +public record CourseSettingsModel +( - [JsonPropertyName("allow_final_grade_override")] - public bool AllowFinalGradeOverride { get; set; } + [property: JsonPropertyName("allow_final_grade_override")] + bool AllowFinalGradeOverride, - [JsonPropertyName("allow_student_discussion_topics")] - public bool AllowStudentDiscussionTopics { get; set; } + [property: JsonPropertyName("allow_student_discussion_topics")] + bool AllowStudentDiscussionTopics, - [JsonPropertyName("allow_student_forum_attachments")] - public bool AllowStudentForumAttachments { get; set; } + [property: JsonPropertyName("allow_student_forum_attachments")] + bool AllowStudentForumAttachments, - [JsonPropertyName("allow_student_discussion_editing")] - public bool AllowStudentDiscussionEditing { get; set; } + [property: JsonPropertyName("allow_student_discussion_editing")] + bool AllowStudentDiscussionEditing, - [JsonPropertyName("grading_standard_enabled")] - public bool GradingStandardEnabled { get; set; } + [property: JsonPropertyName("grading_standard_enabled")] + bool GradingStandardEnabled, - [JsonPropertyName("grading_standard_id")] - public ulong? GradingStandardId { get; set; } + [property: JsonPropertyName("allow_student_organized_groups")] + bool AllowStudentOrganizedGroups, - [JsonPropertyName("allow_student_organized_groups")] - public bool AllowStudentOrganizedGroups { get; set; } + [property: JsonPropertyName("hide_final_groups")] + bool HideFinalGrades, - [JsonPropertyName("hide_final_groups")] - public bool HideFinalGrades { get; set; } + [property: JsonPropertyName("hide_distributor_graphs")] + bool HideDistributionGraphs, - [JsonPropertyName("hide_distributor_graphs")] - public bool HideDistributionGraphs { get; set; } + [property: JsonPropertyName("lock_all_announcements")] + bool LockAllAnnouncements, - [JsonPropertyName("lock_all_announcements")] - public bool LockAllAnnouncements { get; set; } + [property: JsonPropertyName("restrict_student_past_view")] + bool RestrictStudentPastView, - [JsonPropertyName("restrict_student_past_view")] - public bool RestrictStudentPastView { get; set; } + [property: JsonPropertyName("restrict_student_future_view")] + bool RestrictStudentFutureView, - [JsonPropertyName("restrict_student_future_view")] - public bool RestrictStudentFutureView { get; set; } + [property: JsonPropertyName("show_announcements_on_home_page")] + bool ShowAnnouncementsOnHomePage, - [JsonPropertyName("show_announcements_on_home_page")] - public bool ShowAnnouncementsOnHomePage { get; set; } + [property: JsonPropertyName("home_page_announcements_limit")] + long HomePageAnnouncementLimit, - [JsonPropertyName("home_page_announcements_limit")] - public long HomePageAnnouncementLimit { get; set; } -} + [property: JsonPropertyName("grading_standard_id")] + ulong? GradingStandardId = null +); diff --git a/Management/Models/CanvasModel/Courses/ShortCourseModel.cs b/Management/Models/CanvasModel/Courses/ShortCourseModel.cs index 3e06ec6..90b051c 100644 --- a/Management/Models/CanvasModel/Courses/ShortCourseModel.cs +++ b/Management/Models/CanvasModel/Courses/ShortCourseModel.cs @@ -1,12 +1,6 @@ - - namespace CanvasModel.Courses; -public class ShortCourseModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } -} +public record ShortCourseModel +( + [property: JsonPropertyName("id")] ulong Id, + [property: JsonPropertyName("name")] string Name +); diff --git a/Management/Models/CanvasModel/Courses/TermModel.cs b/Management/Models/CanvasModel/Courses/TermModel.cs index 2447ccb..7df6023 100644 --- a/Management/Models/CanvasModel/Courses/TermModel.cs +++ b/Management/Models/CanvasModel/Courses/TermModel.cs @@ -3,6 +3,6 @@ public record TermModel ( [property: JsonPropertyName("id")] ulong Id, [property: JsonPropertyName("name")] string Name, - [property: JsonPropertyName("start_at")] DateTime? StartAt, - [property: JsonPropertyName("end_at")] DateTime? EndAt + [property: JsonPropertyName("start_at")] DateTime? StartAt = null, + [property: JsonPropertyName("end_at")] DateTime? EndAt = null ); diff --git a/Management/Models/CanvasModel/CustomGradebookColumns/ColumnDatumModel.cs b/Management/Models/CanvasModel/CustomGradebookColumns/ColumnDatumModel.cs deleted file mode 100644 index cc62498..0000000 --- a/Management/Models/CanvasModel/CustomGradebookColumns/ColumnDatumModel.cs +++ /dev/null @@ -1,12 +0,0 @@ - - -namespace CanvasModel.CustomGradebookColumns; -public struct ColumnDatumModel -{ - - [JsonPropertyName("content")] - public string Content { get; set; } - - [JsonPropertyName("user_id")] - public ulong UserId { get; set; } -} diff --git a/Management/Models/CanvasModel/CustomGradebookColumns/CustomColumnModel.cs b/Management/Models/CanvasModel/CustomGradebookColumns/CustomColumnModel.cs deleted file mode 100644 index 1108aed..0000000 --- a/Management/Models/CanvasModel/CustomGradebookColumns/CustomColumnModel.cs +++ /dev/null @@ -1,24 +0,0 @@ - - -namespace CanvasModel.CustomGradebookColumns; -public class CustomColumnModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("teacher_notes")] - public bool? TeacherNotes { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("position")] - public int? Position { get; set; } - - [JsonPropertyName("hidden")] - public bool? Hidden { get; set; } - - [JsonPropertyName("read_only")] - public bool? ReadOnly { get; set; } -} diff --git a/Management/Models/CanvasModel/Discussions/DiscussionTopicModel.cs b/Management/Models/CanvasModel/Discussions/DiscussionTopicModel.cs index 249b5a2..9662ae5 100644 --- a/Management/Models/CanvasModel/Discussions/DiscussionTopicModel.cs +++ b/Management/Models/CanvasModel/Discussions/DiscussionTopicModel.cs @@ -1,115 +1,111 @@ -using System; -using System.Collections.Generic; - using CanvasModel.Users; - namespace CanvasModel.Discussions; -public class DiscussionTopicModel -{ - [JsonPropertyName("id")] - public ulong Id { get; set; } +public record DiscussionTopicModel +( + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("title")] - public string Title { get; set; } + [property: JsonPropertyName("title")] + string Title, - [JsonPropertyName("message")] - public string Message { get; set; } + [property: JsonPropertyName("message")] + string Message, - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } + [property: JsonPropertyName("html_url")] + string HtmlUrl, - [JsonPropertyName("posted_at")] - public DateTime? PostedAt { get; set; } + [property: JsonPropertyName("read_state")] + string ReadState, - [JsonPropertyName("last_reply_at")] - public DateTime? LastReplyAt { get; set; } + [property: JsonPropertyName("subscription_hold")] + string SubscriptionHold, - [JsonPropertyName("require_initial_post")] - public bool? RequireInitialPost { get; set; } + [property: JsonPropertyName("assignment_id")] + int AssignmentId, - [JsonPropertyName("user_can_see_posts")] - public bool? UserCanSeePosts { get; set; } + [property: JsonPropertyName("lock_explanation")] + string LockExplanation, - [JsonPropertyName("discussion_subentry_count")] - public uint? DiscussionSubentryCount { get; set; } + [property: JsonPropertyName("user_name")] + string UserName, - [JsonPropertyName("read_state")] - public string ReadState { get; set; } + [property: JsonPropertyName("topic_children")] + IEnumerable TopicChildren, - [JsonPropertyName("unread_count")] - public uint? UnreadCount { get; set; } + [property: JsonPropertyName("podcast_url")] + string PodcastUrl, - [JsonPropertyName("subscribed")] - public bool? Subscribed { get; set; } + [property: JsonPropertyName("discussion_type")] + string DiscussionType, - [JsonPropertyName("subscription_hold")] - public string SubscriptionHold { get; set; } + [property: JsonPropertyName("attachments")] + IEnumerable Attachments, - [JsonPropertyName("assignment_id")] - public int AssignmentId { get; set; } + [property: JsonPropertyName("permissions")] + Dictionary Permissions, - [JsonPropertyName("delayed_post_at")] - public DateTime? DelayedPostAt { get; set; } + [property: JsonPropertyName("author")] + UserDisplayModel Author, - [JsonPropertyName("published")] - public bool? Published { get; set; } + [property: JsonPropertyName("unread_count")] + uint? UnreadCount = null, - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } + [property: JsonPropertyName("subscribed")] + bool? Subscribed = null, - [JsonPropertyName("locked")] - public bool? Locked { get; set; } + [property: JsonPropertyName("posted_at")] + DateTime? PostedAt = null, - [JsonPropertyName("pinned")] - public bool? Pinned { get; set; } + [property: JsonPropertyName("last_reply_at")] + DateTime? LastReplyAt = null, - [JsonPropertyName("locked_for_user")] - public bool? LockedForUser { get; set; } + [property: JsonPropertyName("require_initial_post")] + bool? RequireInitialPost = null, - [JsonPropertyName("lock_info")] - public object LockInfo { get; set; } + [property: JsonPropertyName("user_can_see_posts")] + bool? UserCanSeePosts = null, - [JsonPropertyName("lock_explanation")] - public string LockExplanation { get; set; } + [property: JsonPropertyName("discussion_subentry_count")] + uint? DiscussionSubentryCount = null, - [JsonPropertyName("user_name")] - public string UserName { get; set; } + [property: JsonPropertyName("delayed_post_at")] + DateTime? DelayedPostAt = null, - [JsonPropertyName("topic_children")] - public IEnumerable TopicChildren { get; set; } + [property: JsonPropertyName("published")] + bool? Published = null, - [JsonPropertyName("group_topic_children")] - public object GroupTopicChildren { get; set; } + [property: JsonPropertyName("lock_at")] + DateTime? LockAt = null, - [JsonPropertyName("root_topic_id")] - public ulong? RootTopicId { get; set; } + [property: JsonPropertyName("locked")] + bool? Locked = null, - [JsonPropertyName("podcast_url")] - public string PodcastUrl { get; set; } + [property: JsonPropertyName("pinned")] + bool? Pinned = null, - [JsonPropertyName("discussion_type")] - public string DiscussionType { get; set; } + [property: JsonPropertyName("locked_for_user")] + bool? LockedForUser = null, - [JsonPropertyName("group_category_id")] - public ulong? GroupCategoryId { get; set; } + [property: JsonPropertyName("lock_info")] + object? LockInfo = null, - [JsonPropertyName("attachments")] - public IEnumerable Attachments { get; set; } + [property: JsonPropertyName("group_topic_children")] + object? GroupTopicChildren = null, - [JsonPropertyName("permissions")] - public Dictionary Permissions { get; set; } + [property: JsonPropertyName("root_topic_id")] + ulong? RootTopicId = null, - [JsonPropertyName("allow_rating")] - public bool? AllowRating { get; set; } + [property: JsonPropertyName("group_category_id")] + ulong? GroupCategoryId = null, - [JsonPropertyName("only_graders_can_rate")] - public bool? OnlyGradersCanRate { get; set; } + [property: JsonPropertyName("allow_rating")] + bool? AllowRating = null, - [JsonPropertyName("sort_by_rating")] - public bool? SortByRating { get; set; } + [property: JsonPropertyName("only_graders_can_rate")] + bool? OnlyGradersCanRate = null, - [JsonPropertyName("author")] - public UserDisplayModel Author { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("sort_by_rating")] + bool? SortByRating = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Discussions/FileAttachmentModel.cs b/Management/Models/CanvasModel/Discussions/FileAttachmentModel.cs index 7db9d9e..4d233cb 100644 --- a/Management/Models/CanvasModel/Discussions/FileAttachmentModel.cs +++ b/Management/Models/CanvasModel/Discussions/FileAttachmentModel.cs @@ -1,21 +1,16 @@ - - - namespace CanvasModel.Discussions; -public class FileAttachmentModel -{ - [JsonPropertyName("content_type")] - public string ContentType { get; set; } +public record FileAttachmentModel +( + [property: JsonPropertyName("content_type")] + string ContentType, - [JsonPropertyName("url")] - public string Url { get; set; } + [property: JsonPropertyName("url")] + string Url, - [JsonPropertyName("filename")] - public string Filename { get; set; } + [property: JsonPropertyName("filename")] + string Filename, - [JsonPropertyName("display_name")] - public string DisplayName { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("display_name")] + string DisplayName +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Discussions/TopicEntryModel.cs b/Management/Models/CanvasModel/Discussions/TopicEntryModel.cs index 4da682e..3a7b212 100644 --- a/Management/Models/CanvasModel/Discussions/TopicEntryModel.cs +++ b/Management/Models/CanvasModel/Discussions/TopicEntryModel.cs @@ -1,48 +1,40 @@ -using System; -using System.Collections.Generic; - - - - namespace CanvasModel.Discussions; -public class TopicEntryModel -{ - [JsonPropertyName("id")] - public ulong Id { get; set; } +public record TopicEntryModel +( + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("user_id")] - public ulong UserId { get; set; } + [property: JsonPropertyName("user_id")] + ulong UserId, - [JsonPropertyName("editor_id")] - public ulong? EditorId { get; set; } + [property: JsonPropertyName("user_name")] + string UserName, - [JsonPropertyName("user_name")] - public string UserName { get; set; } + [property: JsonPropertyName("message")] + string Message, - [JsonPropertyName("message")] - public string Message { get; set; } + [property: JsonPropertyName("read_state")] + string ReadState, - [JsonPropertyName("read_state")] - public string ReadState { get; set; } + [property: JsonPropertyName("forced_read_state")] + bool ForcedReadState, - [JsonPropertyName("forced_read_state")] - public bool ForcedReadState { get; set; } + [property: JsonPropertyName("created_at")] + DateTime CreatedAt, - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } + [property: JsonPropertyName("editor_id")] + ulong? EditorId = null, - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } + [property: JsonPropertyName("updated_at")] + DateTime? UpdatedAt = null, - [JsonPropertyName("attachment")] - public FileAttachmentModel? Attachment { get; set; } + [property: JsonPropertyName("attachment")] + FileAttachmentModel? Attachment = null, - [JsonPropertyName("recent_replies")] - public IEnumerable? RecentReplies { get; set; } + [property: JsonPropertyName("recent_replies")] + IEnumerable? RecentReplies = null, - [JsonPropertyName("has_more_replies")] - public bool? HasMoreReplies { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("has_more_replies")] + bool? HasMoreReplies = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Discussions/TopicReplyModel.cs b/Management/Models/CanvasModel/Discussions/TopicReplyModel.cs index 08fa810..35fa8e0 100644 --- a/Management/Models/CanvasModel/Discussions/TopicReplyModel.cs +++ b/Management/Models/CanvasModel/Discussions/TopicReplyModel.cs @@ -1,34 +1,28 @@ -using System; - - - namespace CanvasModel.Discussions; -public class TopicReplyModel -{ - [JsonPropertyName("id")] - public ulong Id { get; set; } +public record TopicReplyModel +( + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("user_id")] - public ulong UserId { get; set; } + [property: JsonPropertyName("user_id")] + ulong UserId, - [JsonPropertyName("editor_id")] - public ulong? EditorId { get; set; } + [property: JsonPropertyName("user_name")] + string UserName, - [JsonPropertyName("user_name")] - public string UserName { get; set; } + [property: JsonPropertyName("message")] + string Message, - [JsonPropertyName("message")] - public string Message { get; set; } + [property: JsonPropertyName("read_state")] + string ReadState, - [JsonPropertyName("read_state")] - public string ReadState { get; set; } + [property: JsonPropertyName("created_at")] + DateTime CreatedAt, - [JsonPropertyName("forced_read_state")] - public bool? ForcedReadState { get; set; } + [property: JsonPropertyName("editor_id")] + ulong? EditorId = null, - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("forced_read_state")] + bool? ForcedReadState = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/EnrollmentTerms/EnrollmentTermModel.cs b/Management/Models/CanvasModel/EnrollmentTerms/EnrollmentTermModel.cs index 2858bf7..2981eb1 100644 --- a/Management/Models/CanvasModel/EnrollmentTerms/EnrollmentTermModel.cs +++ b/Management/Models/CanvasModel/EnrollmentTerms/EnrollmentTermModel.cs @@ -1,6 +1,6 @@ namespace CanvasModel.EnrollmentTerms; -public record EnrollmentTermModel +record EnrollmentTermModel ( [property: JsonPropertyName("id")] ulong Id, [property: JsonPropertyName("name")] string Name, @@ -14,7 +14,7 @@ public record EnrollmentTermModel Dictionary? Overrides = null ); -public record EnrollmentTermDateOverrideModel +record EnrollmentTermDateOverrideModel ( [property: JsonPropertyName("start_at")] DateTime? StartAt = null, [property: JsonPropertyName("end_at")] DateTime? EndAt = null diff --git a/Management/Models/CanvasModel/EnrollmentTerms/RedundantEnrollmentTermsResponse.cs b/Management/Models/CanvasModel/EnrollmentTerms/RedundantEnrollmentTermsResponse.cs index 1178ea4..b59ffe7 100644 --- a/Management/Models/CanvasModel/EnrollmentTerms/RedundantEnrollmentTermsResponse.cs +++ b/Management/Models/CanvasModel/EnrollmentTerms/RedundantEnrollmentTermsResponse.cs @@ -1,6 +1,6 @@ namespace CanvasModel.EnrollmentTerms; -public record RedundantEnrollmentTermsResponse +record RedundantEnrollmentTermsResponse ( [property: JsonPropertyName("enrollment_terms")] IEnumerable EnrollmentTerms diff --git a/Management/Models/CanvasModel/Enrollments/EnrollmentModel.cs b/Management/Models/CanvasModel/Enrollments/EnrollmentModel.cs index 0767207..b316d62 100644 --- a/Management/Models/CanvasModel/Enrollments/EnrollmentModel.cs +++ b/Management/Models/CanvasModel/Enrollments/EnrollmentModel.cs @@ -1,135 +1,135 @@ using CanvasModel.Users; namespace CanvasModel.Enrollments; -public class EnrollmentModel -{ +public record EnrollmentModel +( - [JsonPropertyName("id")] - public ulong Id { get; set; } + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("course_id")] - public ulong CourseId { get; set; } + [property: JsonPropertyName("course_id")] + ulong CourseId, - [JsonPropertyName("sis_course_id")] - public string? SisCourseId { get; set; } + [property: JsonPropertyName("enrollment_state")] + string EnrollmentState, - [JsonPropertyName("course_integration_id")] - public string? CourseIntegrationId { get; set; } + [property: JsonPropertyName("type")] + string Type, - [JsonPropertyName("course_section_id")] - public ulong? CourseSectionId { get; set; } + [property: JsonPropertyName("user_id")] + ulong UserId, - [JsonPropertyName("section_integration_id")] - public string? SectionIntegrationId { get; set; } + [property: JsonPropertyName("role")] + string Role, - [JsonPropertyName("sis_account_id")] - public string? SisAccountId { get; set; } + [property: JsonPropertyName("role_id")] + ulong RoleId, - [JsonPropertyName("sis_section_id")] - public string? SisSectionId { get; set; } + [property: JsonPropertyName("html_url")] + string HtmlUrl, - [JsonPropertyName("sis_user_id")] - public string? SisUserId { get; set; } + [property: JsonPropertyName("grades")] + GradeModel Grades, - [JsonPropertyName("enrollment_state")] - public string EnrollmentState { get; set; } + [property: JsonPropertyName("user")] + UserDisplayModel User, - [JsonPropertyName("limit_privileges_to_course_section")] - public bool? LimitPrivilegesToCourseSection { get; set; } + [property: JsonPropertyName("override_grade")] + string OverrideGrade, - [JsonPropertyName("sis_import_id")] - public ulong? SisImportId { get; set; } + [property: JsonPropertyName("sis_course_id")] + string? SisCourseId = null, - [JsonPropertyName("root_account_id")] - public ulong? RootAccountId { get; set; } + [property: JsonPropertyName("course_integration_id")] + string? CourseIntegrationId = null, - [JsonPropertyName("type")] - public string Type { get; set; } + [property: JsonPropertyName("course_section_id")] + ulong? CourseSectionId = null, - [JsonPropertyName("user_id")] - public ulong UserId { get; set; } + [property: JsonPropertyName("section_integration_id")] + string? SectionIntegrationId = null, - [JsonPropertyName("associated_user_id")] - public ulong? AssociatedUserId { get; set; } + [property: JsonPropertyName("sis_account_id")] + string? SisAccountId = null, - [JsonPropertyName("role")] - public string Role { get; set; } + [property: JsonPropertyName("sis_section_id")] + string? SisSectionId = null, - [JsonPropertyName("role_id")] - public ulong RoleId { get; set; } + [property: JsonPropertyName("sis_user_id")] + string? SisUserId = null, - [JsonPropertyName("created_at")] - public DateTime? CreatedAt { get; set; } + [property: JsonPropertyName("limit_privileges_to_course_section")] + bool? LimitPrivilegesToCourseSection = null, - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } + [property: JsonPropertyName("sis_import_id")] + ulong? SisImportId = null, - [JsonPropertyName("start_at")] - public DateTime? StartAt { get; set; } + [property: JsonPropertyName("root_account_id")] + ulong? RootAccountId = null, - [JsonPropertyName("end_at")] - public DateTime? EndAt { get; set; } + [property: JsonPropertyName("associated_user_id")] + ulong? AssociatedUserId = null, - [JsonPropertyName("last_activity_at")] - public DateTime? LastActivityAt { get; set; } + [property: JsonPropertyName("created_at")] + DateTime? CreatedAt = null, - [JsonPropertyName("last_attended_at")] - public DateTime? LastAttendedAt { get; set; } + [property: JsonPropertyName("updated_at")] + DateTime? UpdatedAt = null, - [JsonPropertyName("total_activity_time")] - public ulong? TotalActivityTime { get; set; } + [property: JsonPropertyName("start_at")] + DateTime? StartAt = null, - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } + [property: JsonPropertyName("end_at")] + DateTime? EndAt = null, - [JsonPropertyName("grades")] - public GradeModel Grades { get; set; } + [property: JsonPropertyName("last_activity_at")] + DateTime? LastActivityAt = null, - [JsonPropertyName("user")] - public UserDisplayModel User { get; set; } + [property: JsonPropertyName("last_attended_at")] + DateTime? LastAttendedAt = null, - [JsonPropertyName("override_grade")] - public string OverrideGrade { get; set; } + [property: JsonPropertyName("total_activity_time")] + ulong? TotalActivityTime = null, - [JsonPropertyName("override_score")] - public decimal? OverrideScore { get; set; } + [property: JsonPropertyName("override_score")] + decimal? OverrideScore = null, - [JsonPropertyName("unposted_current_grade")] - public string? UnpostedCurrentGrade { get; set; } + [property: JsonPropertyName("unposted_current_grade")] + string? UnpostedCurrentGrade = null, - [JsonPropertyName("unposted_final_grade")] - public string? UnpostedFinalGrade { get; set; } + [property: JsonPropertyName("unposted_final_grade")] + string? UnpostedFinalGrade = null, - [JsonPropertyName("unposted_current_score")] - public string? UnpostedCurrentScore { get; set; } + [property: JsonPropertyName("unposted_current_score")] + string? UnpostedCurrentScore = null, - [JsonPropertyName("unposted_final_score")] - public string? UnpostedFinalScore { get; set; } + [property: JsonPropertyName("unposted_final_score")] + string? UnpostedFinalScore = null, - [JsonPropertyName("has_grading_periods")] - public bool? HasGradingPeriods { get; set; } + [property: JsonPropertyName("has_grading_periods")] + bool? HasGradingPeriods = null, - [JsonPropertyName("totals_for_all_grading_periods_option")] - public bool? TotalsForAllGradingPeriodsOption { get; set; } + [property: JsonPropertyName("totals_for_all_grading_periods_option")] + bool? TotalsForAllGradingPeriodsOption = null, - [JsonPropertyName("current_grading_period_title")] - public string? CurrentGradingPeriodTitle { get; set; } + [property: JsonPropertyName("current_grading_period_title")] + string? CurrentGradingPeriodTitle = null, - [JsonPropertyName("current_grading_period_id")] - public ulong? CurrentGradingPeriodId { get; set; } + [property: JsonPropertyName("current_grading_period_id")] + ulong? CurrentGradingPeriodId = null, - [JsonPropertyName("current_period_override_grade")] - public string? CurrentPeriodOverrideGrade { get; set; } + [property: JsonPropertyName("current_period_override_grade")] + string? CurrentPeriodOverrideGrade = null, - [JsonPropertyName("current_period_override_score")] - public decimal? CurrentPeriodOverrideScore { get; set; } + [property: JsonPropertyName("current_period_override_score")] + decimal? CurrentPeriodOverrideScore = null, - [JsonPropertyName("current_period_unposted_final_score")] - public decimal? CurrentPeriodUnpostedFinalScore { get; set; } + [property: JsonPropertyName("current_period_unposted_final_score")] + decimal? CurrentPeriodUnpostedFinalScore = null, - [JsonPropertyName("current_period_unposted_current_grade")] - public string? CurrentPeriodUnpostedCurrentGrade { get; set; } + [property: JsonPropertyName("current_period_unposted_current_grade")] + string? CurrentPeriodUnpostedCurrentGrade = null, - [JsonPropertyName("current_period_unposted_final_grade")] - public string? CurrentPeriodUnpostedFinalGrade { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("current_period_unposted_final_grade")] + string? CurrentPeriodUnpostedFinalGrade = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Enrollments/GradeModel.cs b/Management/Models/CanvasModel/Enrollments/GradeModel.cs index d73a3aa..3c698ca 100644 --- a/Management/Models/CanvasModel/Enrollments/GradeModel.cs +++ b/Management/Models/CanvasModel/Enrollments/GradeModel.cs @@ -2,33 +2,32 @@ namespace CanvasModel.Enrollments; -public class GradeModel -{ +public record GradeModel +( + [property: JsonPropertyName("html_url")] + string? HtmlUrl = null, - [JsonPropertyName("html_url")] - public string? HtmlUrl { get; set; } + [property: JsonPropertyName("current_grade")] + string? CurrentGrade = null, - [JsonPropertyName("current_grade")] - public string? CurrentGrade { get; set; } + [property: JsonPropertyName("final_grade")] + string? FinalGrade = null, - [JsonPropertyName("final_grade")] - public string? FinalGrade { get; set; } + [property: JsonPropertyName("current_score")] + string? CurrentScore = null, - [JsonPropertyName("current_score")] - public string? CurrentScore { get; set; } + [property: JsonPropertyName("final_score")] + string? FinalScore = null, - [JsonPropertyName("final_score")] - public string? FinalScore { get; set; } + [property: JsonPropertyName("unposted_current_grade")] + string? UnpostedCurrentGrade = null, - [JsonPropertyName("unposted_current_grade")] - public string? UnpostedCurrentGrade { get; set; } + [property: JsonPropertyName("unposted_final_grade")] + string? UnpostedFinalGrade = null, - [JsonPropertyName("unposted_final_grade")] - public string? UnpostedFinalGrade { get; set; } + [property: JsonPropertyName("unposted_current_score")] + string? UnpostedCurrentScore = null, - [JsonPropertyName("unposted_current_score")] - public string? UnpostedCurrentScore { get; set; } - - [JsonPropertyName("unposted_final_score")] - public string? UnpostedFinalScore { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("unposted_final_score")] + string? UnpostedFinalScore = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/ExternalTools/AccountNavigationModel.cs b/Management/Models/CanvasModel/ExternalTools/AccountNavigationModel.cs deleted file mode 100644 index f9b310e..0000000 --- a/Management/Models/CanvasModel/ExternalTools/AccountNavigationModel.cs +++ /dev/null @@ -1,24 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class AccountNavigationModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("text")] - public string Text { get; set; } - - [JsonPropertyName("selection_width")] - public uint? SelectionWidth { get; set; } - - [JsonPropertyName("selection_height")] - public uint? SelectionHeight { get; set; } - - [JsonPropertyName("display_type")] - public string DisplayType { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/CourseHomeSubNavigationModel.cs b/Management/Models/CanvasModel/ExternalTools/CourseHomeSubNavigationModel.cs deleted file mode 100644 index 3102597..0000000 --- a/Management/Models/CanvasModel/ExternalTools/CourseHomeSubNavigationModel.cs +++ /dev/null @@ -1,18 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class CourseHomeSubNavigationModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("text")] - public string Text { get; set; } - - [JsonPropertyName("icon_url")] - public string IconUrl { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/CourseNavigationModel.cs b/Management/Models/CanvasModel/ExternalTools/CourseNavigationModel.cs deleted file mode 100644 index 21866e2..0000000 --- a/Management/Models/CanvasModel/ExternalTools/CourseNavigationModel.cs +++ /dev/null @@ -1,24 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class CourseNavigationModel -{ - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("text")] - public string Text { get; set; } - - [JsonPropertyName("visible")] - public string Visibility { get; set; } - - [JsonPropertyName("window_target")] - public string WindowTarget { get; set; } - - [JsonPropertyName("default")] - public bool? Default { get; set; } - - [JsonPropertyName("display_type")] - public string DisplayType { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/EditorButtonModel.cs b/Management/Models/CanvasModel/ExternalTools/EditorButtonModel.cs deleted file mode 100644 index cea9083..0000000 --- a/Management/Models/CanvasModel/ExternalTools/EditorButtonModel.cs +++ /dev/null @@ -1,24 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class EditorButtonModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("icon_url")] - public string IconUrl { get; set; } - - [JsonPropertyName("selection_width")] - public uint? SelectionWidth { get; set; } - - [JsonPropertyName("selection_height")] - public uint? SelectionHeight { get; set; } - - [JsonPropertyName("message_type")] - public string MessageType { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/ExternalToolModel.cs b/Management/Models/CanvasModel/ExternalTools/ExternalToolModel.cs deleted file mode 100644 index 5926166..0000000 --- a/Management/Models/CanvasModel/ExternalTools/ExternalToolModel.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.Collections.Generic; - - -namespace CanvasModel.ExternalTools; -public class ExternalToolModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("domain")] - public string Domain { get; set; } - - [JsonPropertyName("consumer_key")] - public string ConsumerKey { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("description")] - public string Description { get; set; } - - [JsonPropertyName("created_at")] - public DateTime? CreatedAt { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } - - [JsonPropertyName("privacy_level")] - public string PrivacyLevel { get; set; } - - [JsonPropertyName("custom_fields")] - public Dictionary CustomFields { get; set; } - - [JsonPropertyName("account_navigation")] - public AccountNavigationModel AccountNavigation { get; set; } - - [JsonPropertyName("course_home_sub_navigation")] - public CourseHomeSubNavigationModel CourseHomeSubNavigation { get; set; } - - [JsonPropertyName("course_navigation")] - public CourseNavigationModel CourseNavigation { get; set; } - - [JsonPropertyName("editor_button")] - public EditorButtonModel EditorButton { get; set; } - - [JsonPropertyName("homework_submission")] - public HomeworkSubmissionModel HomeworkSubmission { get; set; } - - [JsonPropertyName("migration_selection")] - public MigrationSelectionModel MigrationSelection { get; set; } - - [JsonPropertyName("resource_selection")] - public ResourceSelectionModel ResourceSelection { get; set; } - - [JsonPropertyName("tool_configuration")] - public ToolConfigurationModel ToolConfiguration { get; set; } - - [JsonPropertyName("user_navigation")] - public UserNavigationModel UserNavigation { get; set; } - - [JsonPropertyName("selection_width")] - public uint? SelectionWidth { get; set; } - - [JsonPropertyName("selection_height")] - public uint? SelectionHeight { get; set; } - - [JsonPropertyName("icon_url")] - public string IconUrl { get; set; } - - [JsonPropertyName("not_selectable")] - public bool? NotSelectable { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/HomeworkSubmissionModel.cs b/Management/Models/CanvasModel/ExternalTools/HomeworkSubmissionModel.cs deleted file mode 100644 index b92cf01..0000000 --- a/Management/Models/CanvasModel/ExternalTools/HomeworkSubmissionModel.cs +++ /dev/null @@ -1,18 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class HomeworkSubmissionModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("text")] - public string Text { get; set; } - - [JsonPropertyName("message_type")] - public string MessageType { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/LinkSelectionModel.cs b/Management/Models/CanvasModel/ExternalTools/LinkSelectionModel.cs deleted file mode 100644 index 58ebcd0..0000000 --- a/Management/Models/CanvasModel/ExternalTools/LinkSelectionModel.cs +++ /dev/null @@ -1,18 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class LinkSelectionModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("text")] - public string Text { get; set; } - - [JsonPropertyName("message_type")] - public string MessageType { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/MigrationSelectionModel.cs b/Management/Models/CanvasModel/ExternalTools/MigrationSelectionModel.cs deleted file mode 100644 index b26b2f3..0000000 --- a/Management/Models/CanvasModel/ExternalTools/MigrationSelectionModel.cs +++ /dev/null @@ -1,15 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class MigrationSelectionModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("message_type")] - public string MessageType { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/ResourceSelectionModel.cs b/Management/Models/CanvasModel/ExternalTools/ResourceSelectionModel.cs deleted file mode 100644 index 5b20d2d..0000000 --- a/Management/Models/CanvasModel/ExternalTools/ResourceSelectionModel.cs +++ /dev/null @@ -1,21 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class ResourceSelectionModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("icon_url")] - public string IconUrl { get; set; } - - [JsonPropertyName("selection_width")] - public uint? SelectionWidth { get; set; } - - [JsonPropertyName("selection_height")] - public uint? SelectionHeight { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/ToolConfigurationModel.cs b/Management/Models/CanvasModel/ExternalTools/ToolConfigurationModel.cs deleted file mode 100644 index 7a892cd..0000000 --- a/Management/Models/CanvasModel/ExternalTools/ToolConfigurationModel.cs +++ /dev/null @@ -1,18 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class ToolConfigurationModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("message_type")] - public string MessageType { get; set; } - - [JsonPropertyName("prefer_sis_email")] - public bool? PreferSisEmail { get; set; } -} diff --git a/Management/Models/CanvasModel/ExternalTools/UserNavigationModel.cs b/Management/Models/CanvasModel/ExternalTools/UserNavigationModel.cs deleted file mode 100644 index 3ba1a43..0000000 --- a/Management/Models/CanvasModel/ExternalTools/UserNavigationModel.cs +++ /dev/null @@ -1,18 +0,0 @@ - - -namespace CanvasModel.ExternalTools; -public class UserNavigationModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("enabled")] - public bool? Enabled { get; set; } - - [JsonPropertyName("text")] - public string Text { get; set; } - - [JsonPropertyName("visibility")] - public string Visibility { get; set; } -} diff --git a/Management/Models/CanvasModel/Files/CanvasFileModel.cs b/Management/Models/CanvasModel/Files/CanvasFileModel.cs deleted file mode 100644 index ea91902..0000000 --- a/Management/Models/CanvasModel/Files/CanvasFileModel.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; - - -namespace CanvasModel.Files; -public class CanvasFileModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("uuid")] - public string Uuid { get; set; } - - [JsonPropertyName("folder_id")] - public ulong FolderId { get; set; } - - [JsonPropertyName("display_name")] - public string DisplayName { get; set; } - - [JsonPropertyName("filename")] - public string Filename { get; set; } - - [JsonPropertyName("content_type")] - public string ContentType { get; set; } - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("size")] - public ulong Size { get; set; } - - [JsonPropertyName("created_at")] - public DateTime? CreatedAt { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } - - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("locked")] - public bool Locked { get; set; } - - [JsonPropertyName("hidden")] - public bool Hidden { get; set; } - - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } - - [JsonPropertyName("hidden_for_user")] - public bool HiddenForUser { get; set; } - - [JsonPropertyName("thumbnail_url")] - public string ThumbnailUrl { get; set; } - - [JsonPropertyName("modified_at")] - public DateTime? ModifiedAt { get; set; } - - [JsonPropertyName("mime_class")] - public string MimeClass { get; set; } - - [JsonPropertyName("media_entry_id")] - public string MediaEntryId { get; set; } - - [JsonPropertyName("locked_for_user")] - public bool LockedForUser { get; set; } - - [JsonPropertyName("lock_info")] - // public LockInfo? LockInfo { get; set; } - public object? LockInfo { get; set; } - - [JsonPropertyName("lock_explanation")] - public string LockExplanation { get; set; } - - [JsonPropertyName("preview_url")] - public string PreviewUrl { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Files/FolderModel.cs b/Management/Models/CanvasModel/Files/FolderModel.cs deleted file mode 100644 index dc28d9e..0000000 --- a/Management/Models/CanvasModel/Files/FolderModel.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; - - -namespace CanvasModel.Files; -public class FolderModel -{ - - [JsonPropertyName("context_type")] - public string ContextType { get; set; } - - [JsonPropertyName("context_id")] - public ulong ContextId { get; set; } - - [JsonPropertyName("files_count")] - public uint FilesCount { get; set; } - - [JsonPropertyName("position")] - public int? Position { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime UpdatedAt { get; set; } - - [JsonPropertyName("folders_url")] - public string FoldersUrl { get; set; } - - [JsonPropertyName("files_url")] - public string FilesUrl { get; set; } - - [JsonPropertyName("full_name")] - public string FullName { get; set; } - - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("folders_count")] - public uint FoldersCount { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("parents_folder_id")] - public ulong? ParentFolderId { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("hidden")] - public bool? Hidden { get; set; } - - [JsonPropertyName("hidden_for_user")] - public bool? HiddenForUser { get; set; } - - [JsonPropertyName("locker")] - public bool? Locked { get; set; } - - [JsonPropertyName("locked_for_user")] - public bool? LockedForUser { get; set; } - - [JsonPropertyName("for_submissions")] - public bool? ForSubmissions { get; set; } -} diff --git a/Management/Models/CanvasModel/Files/LicenseModel.cs b/Management/Models/CanvasModel/Files/LicenseModel.cs deleted file mode 100644 index bdd5b7e..0000000 --- a/Management/Models/CanvasModel/Files/LicenseModel.cs +++ /dev/null @@ -1,15 +0,0 @@ - - -namespace CanvasModel.Files; -public class LicenseModel -{ - - [JsonPropertyName("id")] - public string Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("url")] - public string Url { get; set; } -} diff --git a/Management/Models/CanvasModel/Files/UsageRightsModel.cs b/Management/Models/CanvasModel/Files/UsageRightsModel.cs deleted file mode 100644 index 70e3f2d..0000000 --- a/Management/Models/CanvasModel/Files/UsageRightsModel.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Collections.Generic; - - -namespace CanvasModel.Files; -public class UsageRightsModel -{ - - [JsonPropertyName("legal_copyright")] - public string LegalCopyright { get; set; } - - [JsonPropertyName("use_justification")] - public string UsageJustification { get; set; } - - [JsonPropertyName("license")] - public string License { get; set; } - - [JsonPropertyName("license_name")] - public string LicenseName { get; set; } - - [JsonPropertyName("message")] - public string Message { get; set; } - - [JsonPropertyName("file_ids")] - public IEnumerable FileIds { get; set; } -} diff --git a/Management/Models/CanvasModel/GradeChangelog/GradeChangeEventLinksModel.cs b/Management/Models/CanvasModel/GradeChangelog/GradeChangeEventLinksModel.cs deleted file mode 100644 index 09edad5..0000000 --- a/Management/Models/CanvasModel/GradeChangelog/GradeChangeEventLinksModel.cs +++ /dev/null @@ -1,20 +0,0 @@ - -namespace CanvasModel.GradeChangelog; -public class GradeChangeEventLinksModel -{ - - [JsonPropertyName("assignment")] - public ulong Assignment { get; set; } - - [JsonPropertyName("course")] - public ulong Course { get; set; } - - [JsonPropertyName("student")] - public ulong Student { get; set; } - - [JsonPropertyName("grader")] - public ulong Grader { get; set; } - - [JsonPropertyName("page_view")] - public string? PageView { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/GradeChangelog/GradeChangeEventModel.cs b/Management/Models/CanvasModel/GradeChangelog/GradeChangeEventModel.cs deleted file mode 100644 index 5aad13c..0000000 --- a/Management/Models/CanvasModel/GradeChangelog/GradeChangeEventModel.cs +++ /dev/null @@ -1,38 +0,0 @@ - -namespace CanvasModel.GradeChangelog; -public class GradeChangeEventModel -{ - - [JsonPropertyName("id")] - public string Id { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("event_type")] - public string EventType { get; set; } - - [JsonPropertyName("excused_after")] - public bool ExcusedAfter { get; set; } - - [JsonPropertyName("excused_before")] - public bool ExcusedBefore { get; set; } - - [JsonPropertyName("grade_after")] - public string GradeAfter { get; set; } - - [JsonPropertyName("grade_before")] - public string GradeBefore { get; set; } - - [JsonPropertyName("graded_anonymously")] - public bool? GradedAnonymously { get; set; } - - [JsonPropertyName("version_number")] - public string VersionNumber { get; set; } - - [JsonPropertyName("request_id")] - public string RequestId { get; set; } - - [JsonPropertyName("links")] - public GradeChangeEventLinksModel? Links { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/GradeChangelog/RedundantGradeChangeEventResponse.cs b/Management/Models/CanvasModel/GradeChangelog/RedundantGradeChangeEventResponse.cs deleted file mode 100644 index c560af3..0000000 --- a/Management/Models/CanvasModel/GradeChangelog/RedundantGradeChangeEventResponse.cs +++ /dev/null @@ -1,8 +0,0 @@ - -namespace CanvasModel.GradeChangelog; -public class RedundantGradeChangeEventResponse -{ - - [JsonPropertyName("events")] - public IEnumerable Events { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Gradebook/DayModel.cs b/Management/Models/CanvasModel/Gradebook/DayModel.cs deleted file mode 100644 index c690c78..0000000 --- a/Management/Models/CanvasModel/Gradebook/DayModel.cs +++ /dev/null @@ -1,11 +0,0 @@ - -namespace CanvasModel.Gradebook; -public class DayModel -{ - - [JsonPropertyName("date")] - public DateTime Date { get; set; } - - [JsonPropertyName("graders")] - public IEnumerable Graders { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Gradebook/GraderModel.cs b/Management/Models/CanvasModel/Gradebook/GraderModel.cs deleted file mode 100644 index f63085d..0000000 --- a/Management/Models/CanvasModel/Gradebook/GraderModel.cs +++ /dev/null @@ -1,17 +0,0 @@ - -using CanvasModel.Assignments; - -namespace CanvasModel.Gradebook; -public class GraderModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - // the docs say this is a list of integers, but it isn't. - [JsonPropertyName("assignments")] - public IEnumerable Assignments { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Gradebook/SubmissionHistoryModel.cs b/Management/Models/CanvasModel/Gradebook/SubmissionHistoryModel.cs deleted file mode 100644 index c4fcb7b..0000000 --- a/Management/Models/CanvasModel/Gradebook/SubmissionHistoryModel.cs +++ /dev/null @@ -1,11 +0,0 @@ - -namespace CanvasModel.Gradebook; -public class SubmissionHistoryModel -{ - - [JsonPropertyName("submission_id")] - public ulong SubmissionId { get; set; } - - [JsonPropertyName("versions")] - public IEnumerable? Versions { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Gradebook/SubmissionVersionModel.cs b/Management/Models/CanvasModel/Gradebook/SubmissionVersionModel.cs deleted file mode 100644 index b1d0dcf..0000000 --- a/Management/Models/CanvasModel/Gradebook/SubmissionVersionModel.cs +++ /dev/null @@ -1,36 +0,0 @@ -using CanvasModel.Submissions; - -namespace CanvasModel.Gradebook; -public class SubmissionVersionModel : SubmissionModel -{ - - [JsonPropertyName("assignment_name")] - public string AssignmentName { get; set; } - - [JsonPropertyName("current_grade")] - public string CurrentGrade { get; set; } - - [JsonPropertyName("current_graded_at")] - public DateTime? CurrentGradedAt { get; set; } - - [JsonPropertyName("current_grader")] - public string CurrentGrader { get; set; } - - [JsonPropertyName("new_grade")] - public string NewGrade { get; set; } - - [JsonPropertyName("new_graded_at")] - public DateTime? NewGradedAt { get; set; } - - [JsonPropertyName("new_grader")] - public string NewGrader { get; set; } - - [JsonPropertyName("previous_grade")] - public string PreviousGrade { get; set; } - - [JsonPropertyName("previous_graded_at")] - public DateTime? PreviousGradedAt { get; set; } - - [JsonPropertyName("previous_grader")] - public string PreviousGrader { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/GradingPeriods/GradingPeriodModel.cs b/Management/Models/CanvasModel/GradingPeriods/GradingPeriodModel.cs deleted file mode 100644 index c8ab0f9..0000000 --- a/Management/Models/CanvasModel/GradingPeriods/GradingPeriodModel.cs +++ /dev/null @@ -1,26 +0,0 @@ - -namespace CanvasModel.GradingPeriods; -public class GradingPeriodModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("start_date")] - public DateTime? StartDate { get; set; } - - [JsonPropertyName("end_date")] - public DateTime? EndDate { get; set; } - - [JsonPropertyName("close_date")] - public DateTime? CloseDate { get; set; } - - [JsonPropertyName("weight")] - public double? Weight { get; set; } - - [JsonPropertyName("is_closed")] - public bool? IsClosed { get; set; } -} diff --git a/Management/Models/CanvasModel/GradingPeriods/RedundantGradingPeriodResponse.cs b/Management/Models/CanvasModel/GradingPeriods/RedundantGradingPeriodResponse.cs deleted file mode 100644 index 2fd5e80..0000000 --- a/Management/Models/CanvasModel/GradingPeriods/RedundantGradingPeriodResponse.cs +++ /dev/null @@ -1,8 +0,0 @@ - - -namespace CanvasModel.GradingPeriods; -public class RedundantGradingPeriodResponse -{ - [JsonPropertyName("grading_periods")] - public IEnumerable GradingPeriods { get; set; } -} diff --git a/Management/Models/CanvasModel/Groups/GroupMembershipModel.cs b/Management/Models/CanvasModel/Groups/GroupMembershipModel.cs deleted file mode 100644 index 53d8408..0000000 --- a/Management/Models/CanvasModel/Groups/GroupMembershipModel.cs +++ /dev/null @@ -1,27 +0,0 @@ - - -namespace CanvasModel.Groups; -public class GroupMembershipModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("group_id")] - public ulong GroupId { get; set; } - - [JsonPropertyName("user_id")] - public ulong UserId { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("moderator")] - public bool Moderator { get; set; } - - [JsonPropertyName("just_created")] - public bool? JustCreated { get; set; } - - [JsonPropertyName("sis_import_id")] - public ulong? SisImportId { get; set; } -} diff --git a/Management/Models/CanvasModel/Groups/GroupModel.cs b/Management/Models/CanvasModel/Groups/GroupModel.cs deleted file mode 100644 index 3ab6b96..0000000 --- a/Management/Models/CanvasModel/Groups/GroupModel.cs +++ /dev/null @@ -1,56 +0,0 @@ - -namespace CanvasModel.Groups; -public class GroupModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("description")] - public string? Description { get; set; } - - [JsonPropertyName("is_public")] - public bool? IsPublic { get; set; } - - [JsonPropertyName("followed_by_user")] - public bool FollowedByUser { get; set; } - - [JsonPropertyName("join_level")] - public string JoinLevel { get; set; } - - [JsonPropertyName("members_count")] - public uint MembersCount { get; set; } - - [JsonPropertyName("avatar_url")] - public string AvatarUrl { get; set; } - - [JsonPropertyName("context_type")] - public string ContextType { get; set; } - - [JsonPropertyName("course_id")] - public ulong? CourseId { get; set; } - - [JsonPropertyName("account_id")] - public ulong? AccountId { get; set; } - - [JsonPropertyName("role")] - public string Role { get; set; } - - [JsonPropertyName("group_category_id")] - public ulong GroupCategoryId { get; set; } - - [JsonPropertyName("sis_group_id")] - public string? SisGroupId { get; set; } - - [JsonPropertyName("sis_import_id")] - public ulong? SisImportId { get; set; } - - [JsonPropertyName("storage_quota_mb")] - public uint StorageQuoteMb { get; set; } - - [JsonPropertyName("permissions")] - public Dictionary Permissions { get; set; } -} diff --git a/Management/Models/CanvasModel/Modules/CompletionRequirementModel.cs b/Management/Models/CanvasModel/Modules/CompletionRequirementModel.cs deleted file mode 100644 index 3b3468d..0000000 --- a/Management/Models/CanvasModel/Modules/CompletionRequirementModel.cs +++ /dev/null @@ -1,15 +0,0 @@ - - -namespace CanvasModel.Modules; -public class CompletionRequirementModel -{ - - [JsonPropertyName("type")] - public string Type { get; set; } - - [JsonPropertyName("min_score")] - public double? MinScore { get; set; } - - [JsonPropertyName("completed")] - public bool? Completed { get; set; } -} diff --git a/Management/Models/CanvasModel/Modules/ContentDetailsModel.cs b/Management/Models/CanvasModel/Modules/ContentDetailsModel.cs deleted file mode 100644 index 78154c6..0000000 --- a/Management/Models/CanvasModel/Modules/ContentDetailsModel.cs +++ /dev/null @@ -1,23 +0,0 @@ - -namespace CanvasModel.Modules; -public class ContentDetailsModel -{ - - [JsonPropertyName("points_possible")] - public uint? PointsPossible { get; set; } - - [JsonPropertyName("due_at")] - public DateTime? DueAt { get; set; } - - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } - - [JsonPropertyName("locked_for_user")] - public bool? LockedForUser { get; set; } - - [JsonPropertyName("lock_explanation")] - public string? LockExplanation { get; set; } -} diff --git a/Management/Models/CanvasModel/Modules/ModuleItemModel.cs b/Management/Models/CanvasModel/Modules/ModuleItemModel.cs deleted file mode 100644 index c220073..0000000 --- a/Management/Models/CanvasModel/Modules/ModuleItemModel.cs +++ /dev/null @@ -1,48 +0,0 @@ - -namespace CanvasModel.Modules; -public class ModuleItemModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("module_id")] - public ulong ModuleId { get; set; } - - [JsonPropertyName("position")] - public uint Position { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("indent")] - public uint? Indent { get; set; } - - [JsonPropertyName("type")] - public string Type { get; set; } - - [JsonPropertyName("content_id")] - public ulong? ContentId { get; set; } - - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } - - [JsonPropertyName("url")] - public string? Url { get; set; } - - [JsonPropertyName("page_url")] - public string? PageUrl { get; set; } - - [JsonPropertyName("external_url")] - public string? ExternalUrl { get; set; } - - [JsonPropertyName("new_tab")] - public bool NewTab { get; set; } - - // [OptIn] - [JsonPropertyName("completion_requirement")] - public CompletionRequirementModel? CompletionRequirement { get; set; } - - [JsonPropertyName("published")] - public bool? Published { get; set; } -} diff --git a/Management/Models/CanvasModel/Modules/ModuleItemSequenceModel.cs b/Management/Models/CanvasModel/Modules/ModuleItemSequenceModel.cs deleted file mode 100644 index 95d20a0..0000000 --- a/Management/Models/CanvasModel/Modules/ModuleItemSequenceModel.cs +++ /dev/null @@ -1,7 +0,0 @@ - -namespace CanvasModel.Modules; -public class ModuleItemSequenceModel -{ - [JsonPropertyName("items")] - public IEnumerable Items { get; set; } -} diff --git a/Management/Models/CanvasModel/Modules/ModuleItemSequenceNodeModel.cs b/Management/Models/CanvasModel/Modules/ModuleItemSequenceNodeModel.cs deleted file mode 100644 index 47e661d..0000000 --- a/Management/Models/CanvasModel/Modules/ModuleItemSequenceNodeModel.cs +++ /dev/null @@ -1,17 +0,0 @@ - -namespace CanvasModel.Modules; -public class ModuleItemSequenceNodeModel -{ - - [JsonPropertyName("prev")] - public ModuleItemModel? Prev { get; set; } - - [JsonPropertyName("current")] - public ModuleItemModel Current { get; set; } - - [JsonPropertyName("next")] - public ModuleItemModel? Next { get; set; } - - [JsonPropertyName("mastery_path")] - public object? MasteryPath { get; set; } // todo concrete type? -} diff --git a/Management/Models/CanvasModel/Modules/ModuleModel.cs b/Management/Models/CanvasModel/Modules/ModuleModel.cs deleted file mode 100644 index d7bda1f..0000000 --- a/Management/Models/CanvasModel/Modules/ModuleModel.cs +++ /dev/null @@ -1,50 +0,0 @@ - -namespace CanvasModel.Modules; -public class ModuleModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("position")] - public uint Position { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("require_sequential_progress")] - public bool? RequireSequentialProgress { get; set; } - - [JsonPropertyName("prerequisite_module_ids")] - public IEnumerable? PrerequisiteModuleIds { get; set; } - - [JsonPropertyName("items_count")] - public uint ItemsCount { get; set; } - - [JsonPropertyName("items_url")] - public string ItemsUrl { get; set; } - - // [OptIn] - // [Enigmatic] // can be null if "the module is deemed too large", even if opted-in - [JsonPropertyName("items")] - public IEnumerable? Items { get; set; } - - [JsonPropertyName("state")] - public string? State { get; set; } // todo make sure this is an enum in Structure class - - // [OptIn] - [JsonPropertyName("completed_at")] - public DateTime? CompletedAt { get; set; } - - [JsonPropertyName("publish_final_grade")] - public bool? PublishFinalGrade { get; set; } - - [JsonPropertyName("published")] - public bool? Published { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomeAlignmentModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomeAlignmentModel.cs deleted file mode 100644 index 2b9a501..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomeAlignmentModel.cs +++ /dev/null @@ -1,14 +0,0 @@ - -namespace CanvasModel.OutcomeResults; -public class OutcomeAlignmentModel -{ - - [JsonPropertyName("id")] - public string Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("html_url")] - public string? HtmlUrl { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomePathModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomePathModel.cs deleted file mode 100644 index 5708141..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomePathModel.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace CanvasModel.OutcomeResults; -public struct OutcomePathModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("parts")] - public IEnumerable? Parts { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomePathPartModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomePathPartModel.cs deleted file mode 100644 index cb0eb37..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomePathPartModel.cs +++ /dev/null @@ -1,9 +0,0 @@ - - -namespace CanvasModel.OutcomeResults; -public struct OutcomePathPartModel -{ - - [JsonPropertyName("name")] - public string Name { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomeResultModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomeResultModel.cs deleted file mode 100644 index 14136f6..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomeResultModel.cs +++ /dev/null @@ -1,21 +0,0 @@ - - -namespace CanvasModel.OutcomeResults; -public class OutcomeResultModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("score")] - public double Score { get; set; } - - [JsonPropertyName("submitted_or_assessed_at")] - public DateTime SubmittedOrAssessedAt { get; set; } - - [JsonPropertyName("links")] - public Dictionary Links { get; set; } // todo - - [JsonPropertyName("percent")] - public decimal Percent { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupLinksModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupLinksModel.cs deleted file mode 100644 index bfdc89d..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupLinksModel.cs +++ /dev/null @@ -1,15 +0,0 @@ - - -namespace CanvasModel.OutcomeResults; -public class OutcomeRollupLinksModel -{ - - [JsonPropertyName("course")] - public ulong? Course { get; set; } - - [JsonPropertyName("user")] - public ulong? User { get; set; } - - [JsonPropertyName("section")] - public ulong? Section { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupModel.cs deleted file mode 100644 index 68b2143..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupModel.cs +++ /dev/null @@ -1,15 +0,0 @@ - - -namespace CanvasModel.OutcomeResults; -public class OutcomeRollupModel -{ - - [JsonPropertyName("scores")] - public IEnumerable? Scores { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("links")] - public OutcomeRollupLinksModel Links { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupScoreLinksModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupScoreLinksModel.cs deleted file mode 100644 index de5652f..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupScoreLinksModel.cs +++ /dev/null @@ -1,9 +0,0 @@ - - -namespace CanvasModel.OutcomeResults; -public class OutcomeRollupScoreLinksModel -{ - - [JsonPropertyName("outcome")] - public ulong Outcome { get; set; } -} diff --git a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupScoreModel.cs b/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupScoreModel.cs deleted file mode 100644 index 6daf3d0..0000000 --- a/Management/Models/CanvasModel/OutcomeResults/OutcomeRollupScoreModel.cs +++ /dev/null @@ -1,15 +0,0 @@ - - -namespace CanvasModel.OutcomeResults; -public class OutcomeRollupScoreModel -{ - - [JsonPropertyName("score")] - public double? Score { get; set; } - - [JsonPropertyName("count")] - public uint? Count { get; set; } - - [JsonPropertyName("links")] - public OutcomeRollupScoreLinksModel Links { get; set; } -} diff --git a/Management/Models/CanvasModel/Pages/PageModel.cs b/Management/Models/CanvasModel/Pages/PageModel.cs deleted file mode 100644 index 82d6de3..0000000 --- a/Management/Models/CanvasModel/Pages/PageModel.cs +++ /dev/null @@ -1,46 +0,0 @@ -using CanvasModel.Assignments; -using CanvasModel.Users; - -namespace CanvasModel.Pages; -public class PageModel -{ - - [JsonPropertyName("url")] - public string Url { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime UpdatedAt { get; set; } - - [JsonPropertyName("editing_roles")] - public string EditingRoles { get; set; } - - [JsonPropertyName("last_edited_by")] - public UserDisplayModel LastEditedBy { get; set; } - - [JsonPropertyName("body")] - public string? Body { get; set; } - - [JsonPropertyName("published")] - public bool Published { get; set; } - - [JsonPropertyName("front_page")] - public bool FrontPage { get; set; } - - [JsonPropertyName("locked_for_user")] - public bool LockedForUser { get; set; } - - [JsonPropertyName("lock_info")] - public LockInfoModel? LockInfo { get; set; } - - [JsonPropertyName("lock_explanation")] - public string? LockExplanation { get; set; } - - [JsonPropertyName("page_id")] - public string PageId { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Pages/PageRevisionModel.cs b/Management/Models/CanvasModel/Pages/PageRevisionModel.cs deleted file mode 100644 index 0f2665d..0000000 --- a/Management/Models/CanvasModel/Pages/PageRevisionModel.cs +++ /dev/null @@ -1,27 +0,0 @@ -using CanvasModel.Users; - -namespace CanvasModel.Pages; -public class PageRevisionModel -{ - - [JsonPropertyName("revision_id")] - public ulong RevisionId { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime UpdatedAt { get; set; } - - [JsonPropertyName("latest")] - public bool Latest { get; set; } - - [JsonPropertyName("edited_by")] - public UserDisplayModel? EditedBy { get; set; } - - [JsonPropertyName("url")] - public string? Url { get; set; } - - [JsonPropertyName("title")] - public string? Title { get; set; } - - [JsonPropertyName("body")] - public string? Body { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/ProficiencyRatings/ProficiencyModel.cs b/Management/Models/CanvasModel/ProficiencyRatings/ProficiencyModel.cs deleted file mode 100644 index f626b80..0000000 --- a/Management/Models/CanvasModel/ProficiencyRatings/ProficiencyModel.cs +++ /dev/null @@ -1,7 +0,0 @@ - -namespace CanvasModel.ProficiencyRatings; -public struct ProficiencyModel -{ - [JsonPropertyName("ratings")] - public IEnumerable Ratings { get; set; } -} diff --git a/Management/Models/CanvasModel/ProficiencyRatings/ProficiencyRatingModel.cs b/Management/Models/CanvasModel/ProficiencyRatings/ProficiencyRatingModel.cs deleted file mode 100644 index 08f4573..0000000 --- a/Management/Models/CanvasModel/ProficiencyRatings/ProficiencyRatingModel.cs +++ /dev/null @@ -1,18 +0,0 @@ - - -namespace CanvasModel.ProficiencyRatings; -public class ProficiencyRatingModel -{ - - [JsonPropertyName("description")] - public string Description { get; set; } - - [JsonPropertyName("points")] - public double Points { get; set; } - - [JsonPropertyName("mastery")] - public bool Mastery { get; set; } - - [JsonPropertyName("color")] - public string Color { get; set; } -} diff --git a/Management/Models/CanvasModel/Quizzes/QuizModel.cs b/Management/Models/CanvasModel/Quizzes/QuizModel.cs deleted file mode 100644 index a312cf9..0000000 --- a/Management/Models/CanvasModel/Quizzes/QuizModel.cs +++ /dev/null @@ -1,124 +0,0 @@ - -using CanvasModel.Assignments; - -namespace CanvasModel.Quizzes; -public class QuizModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } - - [JsonPropertyName("mobile_url")] - public string MobileUrl { get; set; } - - [JsonPropertyName("preview_url")] - public string PreviewUrl { get; set; } - - [JsonPropertyName("description")] - public string Description { get; set; } - - [JsonPropertyName("quiz_type")] - public string QuizType { get; set; } - - [JsonPropertyName("assignment_group_id")] - public ulong AssignmentGroupId { get; set; } - - [JsonPropertyName("time_limit")] - public decimal? TimeLimit { get; set; } - - [JsonPropertyName("shuffle_answers")] - public bool? ShuffleAnswers { get; set; } - - [JsonPropertyName("hide_results")] - public string? HideResults { get; set; } - - [JsonPropertyName("show_correct_answers")] - public bool? ShowCorrectAnswers { get; set; } - - [JsonPropertyName("show_correct_answers_last_attempt")] - public bool? ShowCorrectAnswersLastAttempt { get; set; } - - [JsonPropertyName("show_correct_answers_at")] - public DateTime? ShowCorrectAnswersAt { get; set; } - - [JsonPropertyName("hide_correct_answers_at")] - public DateTime? HideCorrectAnswersAt { get; set; } - - [JsonPropertyName("one_time_results")] - public bool? OneTimeResults { get; set; } - - [JsonPropertyName("scoring_policy")] - public string? ScoringPolicy { get; set; } - - [JsonPropertyName("allowed_attempts")] - public int AllowedAttempts { get; set; } - - [JsonPropertyName("one_question_at_a_time")] - public bool? OneQuestionAtATime { get; set; } - - [JsonPropertyName("question_count")] - public uint? QuestionCount { get; set; } - - [JsonPropertyName("points_possible")] - public decimal? PointsPossible { get; set; } - - [JsonPropertyName("cant_go_back")] - public bool? CantGoBack { get; set; } - - [JsonPropertyName("access_code")] - public string? AccessCode { get; set; } - - [JsonPropertyName("ip_filter")] - public string? IpFilter { get; set; } - - [JsonPropertyName("due_at")] - public DateTime? DueAt { get; set; } - - [JsonPropertyName("lock_at")] - public DateTime? LockAt { get; set; } - - [JsonPropertyName("unlock_at")] - public DateTime? UnlockAt { get; set; } - - [JsonPropertyName("published")] - public bool? Published { get; set; } - - [JsonPropertyName("unpublishable")] - public bool? Unpublishable { get; set; } - - [JsonPropertyName("locked_for_user")] - public bool? LockedForUser { get; set; } - - [JsonPropertyName("lock_info")] - public LockInfoModel? LockInfo { get; set; } - - [JsonPropertyName("lock_explanation")] - public string? LockExplanation { get; set; } - - [JsonPropertyName("speedgrader_url")] - public string? SpeedGraderUrl { get; set; } - - [JsonPropertyName("quiz_extensions_url")] - public string QuizExtensionsUrl { get; set; } - - [JsonPropertyName("permissions")] - public QuizPermissionsModel Permissions { get; set; } - - [JsonPropertyName("all_dates")] - public object AllDates { get; set; } // exact type unspecified by canvas & no example value given - - [JsonPropertyName("version_number")] - public uint? VersionNumber { get; set; } - - [JsonPropertyName("question_types")] - public IEnumerable QuestionTypes { get; set; } - - [JsonPropertyName("anonymous_submissions")] - public bool? AnonymousSubmissions { get; set; } -} diff --git a/Management/Models/CanvasModel/Quizzes/QuizPermissionsModel.cs b/Management/Models/CanvasModel/Quizzes/QuizPermissionsModel.cs deleted file mode 100644 index 4a975cb..0000000 --- a/Management/Models/CanvasModel/Quizzes/QuizPermissionsModel.cs +++ /dev/null @@ -1,27 +0,0 @@ - - -namespace CanvasModel.Quizzes; -public class QuizPermissionsModel -{ - - [JsonPropertyName("read")] - public bool Read { get; set; } - - [JsonPropertyName("submit")] - public bool Submit { get; set; } - - [JsonPropertyName("create")] - public bool Create { get; set; } - - [JsonPropertyName("manage")] - public bool Manage { get; set; } - - [JsonPropertyName("read_statistics")] - public bool ReadStatistics { get; set; } - - [JsonPropertyName("review_grades")] - public bool ReviewGrades { get; set; } - - [JsonPropertyName("update")] - public bool Update { get; set; } -} diff --git a/Management/Models/CanvasModel/Reports/ReportDescriptionModel.cs b/Management/Models/CanvasModel/Reports/ReportDescriptionModel.cs deleted file mode 100644 index 2a61c37..0000000 --- a/Management/Models/CanvasModel/Reports/ReportDescriptionModel.cs +++ /dev/null @@ -1,24 +0,0 @@ - -namespace CanvasModel.Reports; -public class ReportDescriptionModel -{ - - [JsonPropertyName("report")] - public string Report { get; set; } - - [JsonPropertyName("title")] - public string Title { get; set; } - - [JsonPropertyName("parameters")] - public Dictionary? Parameters { get; set; } -} - -public class ReportParameterDescriptionModel -{ - - [JsonPropertyName("description")] - public string Description { get; set; } - - [JsonPropertyName("required")] - public bool Required { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Reports/ReportModel.cs b/Management/Models/CanvasModel/Reports/ReportModel.cs deleted file mode 100644 index 7dd8b68..0000000 --- a/Management/Models/CanvasModel/Reports/ReportModel.cs +++ /dev/null @@ -1,42 +0,0 @@ - -using CanvasModel.Discussions; - -namespace CanvasModel.Reports; -public class ReportModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("report")] - public string Report { get; set; } - - [JsonPropertyName("file_url")] - public string? FileUrl { get; set; } - - [JsonPropertyName("attachment")] - public FileAttachmentModel? Attachment { get; set; } - - [JsonPropertyName("status")] - public string Status { get; set; } - - [JsonPropertyName("created_at")] - public DateTime? CreatedAt { get; set; } - - [JsonPropertyName("started_at")] - public DateTime? StartedAt { get; set; } - - [JsonPropertyName("ended_at")] - public DateTime? EndedAt { get; set; } - - // the fields in this object can vary wildly depending on the report type, so for now we will loosely type it - // like this - [JsonPropertyName("parameters")] - public Dictionary Parameters { get; set; } - - [JsonPropertyName("progress")] - public double? Progress { get; set; } - - [JsonPropertyName("current_line")] - public ulong? CurrentLine { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Results/ResultModel.cs b/Management/Models/CanvasModel/Results/ResultModel.cs deleted file mode 100644 index 0721d68..0000000 --- a/Management/Models/CanvasModel/Results/ResultModel.cs +++ /dev/null @@ -1,24 +0,0 @@ - -namespace CanvasModel.Results; -public class ResultModel -{ - // yes indeed the docs say this model specifically uses camelCase properties - - [JsonPropertyName("id")] - public string Id { get; set; } - - [JsonPropertyName("userId")] - public string UserId { get; set; } - - [JsonPropertyName("resultScore")] - public string ResultScore { get; set; } - - [JsonPropertyName("resultMaximum")] - public string ResultMaximum { get; set; } - - [JsonPropertyName("comment")] - public string Comment { get; set; } - - [JsonPropertyName("scoreOf")] - public string ScoreOf { get; set; } -} diff --git a/Management/Models/CanvasModel/Roles/RoleModel.cs b/Management/Models/CanvasModel/Roles/RoleModel.cs deleted file mode 100644 index 08a59c6..0000000 --- a/Management/Models/CanvasModel/Roles/RoleModel.cs +++ /dev/null @@ -1,22 +0,0 @@ - -using CanvasModel.Accounts; - -namespace CanvasModel.Roles; -public class RoleModel -{ - - [JsonPropertyName("label")] - public string Label { get; set; } - - [JsonPropertyName("base_role_type")] - public string BaseRoleType { get; set; } - - [JsonPropertyName("account")] - public AccountModel Account { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("permissions")] - public Dictionary Permissions { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Roles/RolePermissionsModel.cs b/Management/Models/CanvasModel/Roles/RolePermissionsModel.cs deleted file mode 100644 index 741c0a2..0000000 --- a/Management/Models/CanvasModel/Roles/RolePermissionsModel.cs +++ /dev/null @@ -1,27 +0,0 @@ - - -namespace CanvasModel.Roles; -public class RolePermissionsModel -{ - - [JsonPropertyName("enabled")] - public bool Enabled { get; set; } - - [JsonPropertyName("locked")] - public bool Locked { get; set; } - - [JsonPropertyName("applies_to_self")] - public bool AppliesToSelf { get; set; } - - [JsonPropertyName("applies_to_descendants")] - public bool AppliesToDescendants { get; set; } - - [JsonPropertyName("readonly")] - public bool Readonly { get; set; } - - [JsonPropertyName("explicit")] - public bool Explicit { get; set; } - - [JsonPropertyName("prior_default")] - public bool PriorDefault { get; set; } -} \ No newline at end of file diff --git a/Management/Models/CanvasModel/Sections/SectionModel.cs b/Management/Models/CanvasModel/Sections/SectionModel.cs deleted file mode 100644 index 7adde5a..0000000 --- a/Management/Models/CanvasModel/Sections/SectionModel.cs +++ /dev/null @@ -1,36 +0,0 @@ - -namespace CanvasModel.Sections; -public class SectionModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("name")] - public string Name { get; set; } - - [JsonPropertyName("sis_section_id")] - public string? SisSectionId { get; set; } - - [JsonPropertyName("integration_id")] - public string? IntegrationId { get; set; } - - [JsonPropertyName("sis_import_id")] - public ulong? SisImportId { get; set; } - - [JsonPropertyName("start_at")] - public DateTime? StartAt { get; set; } - - [JsonPropertyName("end_at")] - public DateTime? EndAt { get; set; } - - [JsonPropertyName("restrict_enrollments_to_section_dates")] - public bool? RestrictEnrollmentsToSectionDates { get; set; } - - [JsonPropertyName("nonxlist_course_id")] - public ulong? NonCrossListedCourseId { get; set; } - - [JsonPropertyName("total_students")] - // [OptIn] - public uint? TotalStudents { get; set; } -} diff --git a/Management/Models/CanvasModel/SisImports/SisImportCountsModel.cs b/Management/Models/CanvasModel/SisImports/SisImportCountsModel.cs deleted file mode 100644 index 76c3129..0000000 --- a/Management/Models/CanvasModel/SisImports/SisImportCountsModel.cs +++ /dev/null @@ -1,55 +0,0 @@ - -namespace CanvasModel.SisImports; -public class SisImportCountsModel -{ - - [JsonPropertyName("accounts")] - public ulong Accounts { get; set; } - - [JsonPropertyName("terms")] - public ulong Terms { get; set; } - - [JsonPropertyName("abstract_courses")] - public ulong AbstractCourses { get; set; } - - [JsonPropertyName("courses")] - public ulong Courses { get; set; } - - [JsonPropertyName("sections")] - public ulong Sections { get; set; } - - [JsonPropertyName("xlists")] - public ulong CrossLists { get; set; } - - [JsonPropertyName("users")] - public ulong Users { get; set; } - - [JsonPropertyName("enrollments")] - public ulong Enrollments { get; set; } - - [JsonPropertyName("groups")] - public ulong Groups { get; set; } - - [JsonPropertyName("group_memberships")] - public ulong GroupMemberships { get; set; } - - [JsonPropertyName("grade_publishing_results")] - public ulong GradePublishingResults { get; set; } - - // the following three specific fields are null when 0, unlike the other ones which are 0 when 0 - - [JsonPropertyName("batch_courses_deleted")] - public ulong? BatchCoursesDeleted { get; set; } - - [JsonPropertyName("batch_sections_deleted")] - public ulong? BatchSectionsDeleted { get; set; } - - [JsonPropertyName("batch_enrollments_deleted")] - public ulong? BatchEnrollmentsDeleted { get; set; } - - [JsonPropertyName("error_count")] - public ulong Errors { get; set; } - - [JsonPropertyName("warning_count")] - public ulong Warnings { get; set; } -} diff --git a/Management/Models/CanvasModel/SisImports/SisImportDataModel.cs b/Management/Models/CanvasModel/SisImports/SisImportDataModel.cs deleted file mode 100644 index 8499f72..0000000 --- a/Management/Models/CanvasModel/SisImports/SisImportDataModel.cs +++ /dev/null @@ -1,14 +0,0 @@ - -namespace CanvasModel.SisImports; -public class SisImportDataModel -{ - - [JsonPropertyName("import_type")] - public string ImportType { get; set; } - - [JsonPropertyName("supplied_batches")] - public IEnumerable SuppliedBatches { get; set; } - - [JsonPropertyName("counts")] - public SisImportCountsModel? Counts { get; set; } -} diff --git a/Management/Models/CanvasModel/SisImports/SisImportModel.cs b/Management/Models/CanvasModel/SisImports/SisImportModel.cs deleted file mode 100644 index a9ebaff..0000000 --- a/Management/Models/CanvasModel/SisImports/SisImportModel.cs +++ /dev/null @@ -1,74 +0,0 @@ - -using CanvasModel.Users; - -namespace CanvasModel.SisImports; -public class SisImportModel -{ - - [JsonPropertyName("id")] - public ulong Id { get; set; } - - [JsonPropertyName("created_at")] - public DateTime? CreatedAt { get; set; } - - [JsonPropertyName("ended_at")] - public DateTime? EndedAt { get; set; } - - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("data")] - public SisImportDataModel Data { get; set; } - - [JsonPropertyName("statistics")] - public object? Statistics { get; set; } - // public SisImportStatisticsModel Statistics { get; set; } - - [JsonPropertyName("progress")] - public long? Progress { get; set; } - - [JsonPropertyName("errors_attachment")] - public object ErrorsAttachment { get; set; } - - [JsonPropertyName("user")] - public UserModel? User { get; set; } - - [JsonPropertyName("processing_warnings")] - public IEnumerable>? ProcessingWarnings { get; set; } - - [JsonPropertyName("processing_errors")] - public IEnumerable>? ProcessingErrors { get; set; } - - [JsonPropertyName("batch_mode")] - public bool? BatchMode { get; set; } - - [JsonPropertyName("batch_mode_term_id")] - public long? BatchModeTermId { get; set; } - - [JsonPropertyName("multi_term_batch_mode")] - public bool? MultiTermBatchMode { get; set; } - - [JsonPropertyName("skip_deletes")] - public bool? SkipDeletes { get; set; } - - [JsonPropertyName("override_sis_stickiness")] - public bool? OverrideSisStickiness { get; set; } - - [JsonPropertyName("add_sis_stickiness")] - public bool? AddSisStickiness { get; set; } - - [JsonPropertyName("clear_sis_stickiness")] - public bool? ClearSisStickiness { get; set; } - - [JsonPropertyName("diffing_data_set_identifier")] - public string DiffingDataSetIdentifier { get; set; } - - [JsonPropertyName("diffed_against_import_id")] - public ulong? DiffedAgainstImportId { get; set; } - - [JsonPropertyName("csv_attachments")] - public IEnumerable CsvAttachments { get; set; } -} diff --git a/Management/Models/CanvasModel/SisImports/SisImportStatisticModel.cs b/Management/Models/CanvasModel/SisImports/SisImportStatisticModel.cs deleted file mode 100644 index d907c75..0000000 --- a/Management/Models/CanvasModel/SisImports/SisImportStatisticModel.cs +++ /dev/null @@ -1,21 +0,0 @@ - - -namespace CanvasModel.SisImports; -public class SisImportStatisticModel -{ - - [JsonPropertyName("created")] - public ulong? Created { get; set; } - - [JsonPropertyName("concluded")] - public ulong? Concluded { get; set; } - - [JsonPropertyName("deactivated")] - public ulong? Deactivated { get; set; } - - [JsonPropertyName("restored")] - public ulong? Restored { get; set; } - - [JsonPropertyName("deleted")] - public ulong? Deleted { get; set; } -} diff --git a/Management/Models/CanvasModel/SisImports/SisImportStatisticsModel.cs b/Management/Models/CanvasModel/SisImports/SisImportStatisticsModel.cs deleted file mode 100644 index 10a6ffa..0000000 --- a/Management/Models/CanvasModel/SisImports/SisImportStatisticsModel.cs +++ /dev/null @@ -1,49 +0,0 @@ - - - -// namespace CanvasModel.SisImports; -// public class SisImportStatisticsModel -// { - -// [JsonPropertyName("total_state_changes")] -// public ulong TotalStateChanges { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? Account { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? EnrollmentTerm { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? CommunicationChannel { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? AbstractCourse { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? Course { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? CourseSection { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? Enrollment { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? GroupCategory { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? Group { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? GroupMembership { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? Pseudonym { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? UserObserver { get; set; } - -// [JsonPropertyName] -// public SisImportStatisticModel? AccountUser { get; set; } -// } diff --git a/Management/Models/CanvasModel/Submissions/MediaCommentModel.cs b/Management/Models/CanvasModel/Submissions/MediaCommentModel.cs index 658f628..1f3f485 100644 --- a/Management/Models/CanvasModel/Submissions/MediaCommentModel.cs +++ b/Management/Models/CanvasModel/Submissions/MediaCommentModel.cs @@ -1,21 +1,19 @@ - - namespace CanvasModel.Submissions; -public class MediaCommentModel -{ +public record MediaCommentModel +( - [JsonPropertyName("content-type")] - public string ContentType { get; set; } + [property: JsonPropertyName("content-type")] + string ContentType, - [JsonPropertyName("display_name")] - public string DisplayName { get; set; } + [property: JsonPropertyName("display_name")] + string DisplayName, - [JsonPropertyName("media_id")] - public string MediaId { get; set; } + [property: JsonPropertyName("media_id")] + string MediaId, - [JsonPropertyName("media_type")] - public string MediaType { get; set; } + [property: JsonPropertyName("media_type")] + string MediaType, - [JsonPropertyName("url")] - public string Url { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("url")] + string Url +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Submissions/SubmissionCommentModel.cs b/Management/Models/CanvasModel/Submissions/SubmissionCommentModel.cs index 991d3db..993be71 100644 --- a/Management/Models/CanvasModel/Submissions/SubmissionCommentModel.cs +++ b/Management/Models/CanvasModel/Submissions/SubmissionCommentModel.cs @@ -1,30 +1,29 @@ using CanvasModel.Users; namespace CanvasModel.Submissions; -public class SubmissionCommentModel -{ +public record SubmissionCommentModel +( + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("id")] - public ulong Id { get; set; } + [property: JsonPropertyName("author_id")] + ulong AuthorId, - [JsonPropertyName("author_id")] - public ulong AuthorId { get; set; } + [property: JsonPropertyName("author_name")] + string AuthorName, - [JsonPropertyName("author_name")] - public string AuthorName { get; set; } + [property: JsonPropertyName("author")] + UserDisplayModel Author, - [JsonPropertyName("author")] - public UserDisplayModel Author { get; set; } + [property: JsonPropertyName("comment")] + string Comment, - [JsonPropertyName("comment")] - public string Comment { get; set; } + [property: JsonPropertyName("created_at")] + DateTime CreatedAt, - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } + [property: JsonPropertyName("edited_at")] + DateTime? EditedAt = null, - [JsonPropertyName("edited_at")] - public DateTime? EditedAt { get; set; } - - [JsonPropertyName("media_comment")] - public MediaCommentModel? MediaComment { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("media_comment")] + MediaCommentModel? MediaComment = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Submissions/SubmissionModel.cs b/Management/Models/CanvasModel/Submissions/SubmissionModel.cs index ee76eb2..4f6bc92 100644 --- a/Management/Models/CanvasModel/Submissions/SubmissionModel.cs +++ b/Management/Models/CanvasModel/Submissions/SubmissionModel.cs @@ -3,90 +3,89 @@ using CanvasModel.Courses; using CanvasModel.Users; namespace CanvasModel.Submissions; -public class SubmissionModel -{ +public record SubmissionModel +( + [property: JsonPropertyName("assignment_id")] + ulong AssignmentId, - [JsonPropertyName("assignment_id")] - public ulong AssignmentId { get; set; } + [property: JsonPropertyName("grade")] + string Grade, - [JsonPropertyName("assignment")] - public AssignmentModel? Assignment { get; set; } + [property: JsonPropertyName("html_url")] + string HtmlUrl, - [JsonPropertyName("course")] - public CourseModel? Course { get; set; } + [property: JsonPropertyName("preview_url")] + string PreviewUrl, - [JsonPropertyName("attempt")] - public uint? Attempt { get; set; } + [property: JsonPropertyName("submission_type")] + string SubmissionType, - [JsonPropertyName("body")] - public string? Body { get; set; } + [property: JsonPropertyName("user_id")] + ulong UserId, - [JsonPropertyName("grade")] - public string Grade { get; set; } + [property: JsonPropertyName("user")] + UserModel User, - [JsonPropertyName("grade_matches_current_submission")] - public bool? GradeMatchesCurrentSubmission { get; set; } + [property: JsonPropertyName("workflow_state")] + string WorkflowState, - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } + [property: JsonPropertyName("assignment")] + AssignmentModel? Assignment = null, - [JsonPropertyName("preview_url")] - public string PreviewUrl { get; set; } + [property: JsonPropertyName("course")] + CourseModel? Course = null, - [JsonPropertyName("score")] - public decimal? Score { get; set; } + [property: JsonPropertyName("attempt")] + uint? Attempt = null, - [JsonPropertyName("submission_comments")] - public IEnumerable? SubmissionComments { get; set; } + [property: JsonPropertyName("body")] + string? Body = null, - [JsonPropertyName("submission_type")] - public string SubmissionType { get; set; } + [property: JsonPropertyName("grade_matches_current_submission")] + bool? GradeMatchesCurrentSubmission = null, - [JsonPropertyName("submitted_at")] - public DateTime? SubmittedAt { get; set; } + [property: JsonPropertyName("score")] + decimal? Score = null, - [JsonPropertyName("url")] - public string? Url { get; set; } + [property: JsonPropertyName("submission_comments")] + IEnumerable? SubmissionComments = null, - [JsonPropertyName("user_id")] - public ulong UserId { get; set; } + [property: JsonPropertyName("submitted_at")] + DateTime? SubmittedAt = null, - [JsonPropertyName("grader_id")] - public long? GraderId { get; set; } // why can this be negative??? + [property: JsonPropertyName("url")] + string? Url = null, - [JsonPropertyName("graded_at")] - public DateTime? GradedAt { get; set; } + [property: JsonPropertyName("grader_id")] + long? GraderId = null, - [JsonPropertyName("user")] - public UserModel User { get; set; } + [property: JsonPropertyName("graded_at")] + DateTime? GradedAt = null, - [JsonPropertyName("late")] - public bool? Late { get; set; } + [property: JsonPropertyName("late")] + bool? Late = null, - [JsonPropertyName("assignment_visible")] - public bool? AssignmentVisible { get; set; } + [property: JsonPropertyName("assignment_visible")] + bool? AssignmentVisible = null, - [JsonPropertyName("excused")] - public bool? Excused { get; set; } + [property: JsonPropertyName("excused")] + bool? Excused = null, - [JsonPropertyName("missing")] - public bool? Missing { get; set; } + [property: JsonPropertyName("missing")] + bool? Missing = null, - [JsonPropertyName("late_policy_status")] - public string LatePolicyStatus { get; set; } + [property: JsonPropertyName("late_policy_status")] + string LatePolicyStatus = null, - [JsonPropertyName("points_deducted")] - public double? PointsDeducted { get; set; } + [property: JsonPropertyName("points_deducted")] + double? PointsDeducted = null, - [JsonPropertyName("seconds_late")] - public double? SecondsLate { get; set; } + [property: JsonPropertyName("seconds_late")] + double? SecondsLate = null, - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } + [property: JsonPropertyName("extra_attempts")] + uint? ExtraAttempts = null, - [JsonPropertyName("extra_attempts")] - public uint? ExtraAttempts { get; set; } - - [JsonPropertyName("anonymous_id")] - public string? AnonymousId { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("anonymous_id")] + string? AnonymousId = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/ToDos/ToDoItemModel.cs b/Management/Models/CanvasModel/ToDos/ToDoItemModel.cs deleted file mode 100644 index 795b550..0000000 --- a/Management/Models/CanvasModel/ToDos/ToDoItemModel.cs +++ /dev/null @@ -1,36 +0,0 @@ - - -using CanvasModel.Assignments; -using CanvasModel.Quizzes; - -namespace CanvasModel.ToDos; - -public class ToDoItemModel -{ - - [JsonPropertyName("context_type")] - public string ContextType { get; set; } - - [JsonPropertyName("course_id")] - public ulong? CourseId { get; set; } - - [JsonPropertyName("group_id")] - public ulong? GroupId { get; set; } - - [JsonPropertyName("type")] - public string Type { get; set; } - - [JsonPropertyName("ignore")] - public string IgnoreUrl { get; set; } - - [JsonPropertyName("ignore_permanently")] - public string PermanentIgnoreUrl { get; set; } - - [JsonPropertyName("assignment")] - public AssignmentModel? Assignment { get; set; } - - [JsonPropertyName("quiz")] - public QuizModel? Quiz { get; set; } - - -} diff --git a/Management/Models/CanvasModel/Users/ActivityStreamObjectModel.cs b/Management/Models/CanvasModel/Users/ActivityStreamObjectModel.cs index e5b25d8..5070889 100644 --- a/Management/Models/CanvasModel/Users/ActivityStreamObjectModel.cs +++ b/Management/Models/CanvasModel/Users/ActivityStreamObjectModel.cs @@ -1,185 +1,163 @@ - using CanvasModel.Assignments; using CanvasModel.Courses; using CanvasModel.Submissions; namespace CanvasModel.Users; -public class ActivityStreamObjectModel -{ - // General - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } +public record ActivityStreamObjectModel +( + [property: JsonPropertyName("created_at")] + DateTime CreatedAt, - [JsonPropertyName("updated_at")] - public DateTime? UpdatedAt { get; set; } + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("id")] - public ulong Id { get; set; } + [property: JsonPropertyName("title")] + string Title, - [JsonPropertyName("title")] - public string Title { get; set; } + [property: JsonPropertyName("message")] + string Message, - [JsonPropertyName("message")] - public string Message { get; set; } + [property: JsonPropertyName("type")] + string Type, - [JsonPropertyName("type")] - public string Type { get; set; } + [property: JsonPropertyName("read_state")] + bool ReadState, - [JsonPropertyName("read_state")] - public bool ReadState { get; set; } + [property: JsonPropertyName("context_type")] + string ContextType, - [JsonPropertyName("context_type")] - public string ContextType { get; set; } + [property: JsonPropertyName("html_url")] + string HtmlUrl, - [JsonPropertyName("course_id")] - public ulong? CourseId { get; set; } + [property: JsonPropertyName("notification_category")] + string NotificationCategory, - [JsonPropertyName("group_id")] - public ulong? GroupId { get; set; } + [property: JsonPropertyName("grade")] + string Grade, - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } + [property: JsonPropertyName("preview_url")] + string PreviewUrl, - // Type = DiscussionTopic | Announcement + [property: JsonPropertyName("submission_type")] + string SubmissionType, - [JsonPropertyName("total_root_discussion_entries")] - public uint? TotalRootDiscussionEntries { get; set; } + [property: JsonPropertyName("late_policy_status")] + string LatePolicyStatus, - [JsonPropertyName("require_initial_post")] - public bool? RequireInitialPost { get; set; } + [property: JsonPropertyName("workflow_state")] + string WorkflowState, - [JsonPropertyName("user_has_posted")] - public bool? UserHasPosted { get; set; } + [property: JsonPropertyName("updated_at")] + DateTime? UpdatedAt = null, - [JsonPropertyName("root_discussion_entries")] - public object RootDiscussionEntries { get; set; } // todo this class/model + [property: JsonPropertyName("course_id")] + ulong? CourseId = null, - // Type = DiscussionTopic + [property: JsonPropertyName("group_id")] + ulong? GroupId = null, - [JsonPropertyName("discussion_topic_id")] - public ulong? DiscussionTopicId { get; set; } + [property: JsonPropertyName("total_root_discussion_entries")] + uint? TotalRootDiscussionEntries = null, - // Type = Announcement + [property: JsonPropertyName("require_initial_post")] + bool? RequireInitialPost = null, - [JsonPropertyName("announcement_id")] - public ulong? AnnouncementId { get; set; } + [property: JsonPropertyName("user_has_posted")] + bool? UserHasPosted = null, - // Type = Conversation + [property: JsonPropertyName("root_discussion_entries")] + object RootDiscussionEntries = null, - [JsonPropertyName("conversation_id")] - public ulong? ConversationId { get; set; } + [property: JsonPropertyName("discussion_topic_id")] + ulong? DiscussionTopicId = null, - [JsonPropertyName("private")] - public bool? Private { get; set; } + [property: JsonPropertyName("announcement_id")] + ulong? AnnouncementId = null, - [JsonPropertyName("participant_count")] - public uint? ParticipantCount { get; set; } + [property: JsonPropertyName("conversation_id")] + ulong? ConversationId = null, - // Type = Message + [property: JsonPropertyName("private")] + bool? Private = null, - [JsonPropertyName("message_id")] - public ulong? MessageId { get; set; } + [property: JsonPropertyName("participant_count")] + uint? ParticipantCount = null, - [JsonPropertyName("notification_category")] - public string NotificationCategory { get; set; } + [property: JsonPropertyName("message_id")] + ulong? MessageId = null, - // Type = Submission + [property: JsonPropertyName("assignment_id")] + ulong? AssignmentId = null, - [JsonPropertyName("assignment_id")] - public ulong? AssignmentId { get; set; } + [property: JsonPropertyName("assignment")] + AssignmentModel? Assignment = null, - [JsonPropertyName("assignment")] - public AssignmentModel? Assignment { get; set; } + [property: JsonPropertyName("course")] + CourseModel? Course = null, - [JsonPropertyName("course")] - public CourseModel? Course { get; set; } + [property: JsonPropertyName("attempt")] + uint? Attempt = null, - [JsonPropertyName("attempt")] - public uint? Attempt { get; set; } + [property: JsonPropertyName("body")] + string? Body = null, - [JsonPropertyName("body")] - public string? Body { get; set; } + [property: JsonPropertyName("grade_matches_current_submission")] + bool? GradeMatchesCurrentSubmission = null, - [JsonPropertyName("grade")] - public string Grade { get; set; } + [property: JsonPropertyName("score")] + decimal? Score = null, - [JsonPropertyName("grade_matches_current_submission")] - public bool? GradeMatchesCurrentSubmission { get; set; } + [property: JsonPropertyName("submission_comments")] + IEnumerable? SubmissionComments = null, - [JsonPropertyName("preview_url")] - public string PreviewUrl { get; set; } + [property: JsonPropertyName("submitted_at")] + DateTime? SubmittedAt = null, - [JsonPropertyName("score")] - public decimal? Score { get; set; } + [property: JsonPropertyName("url")] + string? Url = null, - [JsonPropertyName("submission_comments")] - public IEnumerable? SubmissionComments { get; set; } + [property: JsonPropertyName("user_id")] + ulong? UserId = null, - [JsonPropertyName("submission_type")] - public string SubmissionType { get; set; } + [property: JsonPropertyName("grader_id")] + long? GraderId = null, - [JsonPropertyName("submitted_at")] - public DateTime? SubmittedAt { get; set; } + [property: JsonPropertyName("graded_at")] + DateTime? GradedAt = null, - [JsonPropertyName("url")] - public string? Url { get; set; } + [property: JsonPropertyName("user")] + UserModel? User = null, - [JsonPropertyName("user_id")] - public ulong? UserId { get; set; } + [property: JsonPropertyName("late")] + bool? Late = null, - [JsonPropertyName("grader_id")] - public long? GraderId { get; set; } // why can this be negative??? + [property: JsonPropertyName("assignment_visible")] + bool? AssignmentVisible = null, - [JsonPropertyName("graded_at")] - public DateTime? GradedAt { get; set; } + [property: JsonPropertyName("excused")] + bool? Excused = null, - [JsonPropertyName("user")] - public UserModel? User { get; set; } + [property: JsonPropertyName("missing")] + bool? Missing = null, - [JsonPropertyName("late")] - public bool? Late { get; set; } + [property: JsonPropertyName("points_deducted")] + double? PointsDeducted = null, - [JsonPropertyName("assignment_visible")] - public bool? AssignmentVisible { get; set; } + [property: JsonPropertyName("seconds_late")] + double? SecondsLate = null, - [JsonPropertyName("excused")] - public bool? Excused { get; set; } + [property: JsonPropertyName("extra_attempts")] + uint? ExtraAttempts = null, - [JsonPropertyName("missing")] - public bool? Missing { get; set; } + [property: JsonPropertyName("anonymous_id")] + string? AnonymousId = null, - [JsonPropertyName("late_policy_status")] - public string LatePolicyStatus { get; set; } + [property: JsonPropertyName("web_conference_id")] + ulong? WebConferenceId = null, - [JsonPropertyName("points_deducted")] - public double? PointsDeducted { get; set; } + [property: JsonPropertyName("collaboration_id")] + ulong? CollaborationId = null, - [JsonPropertyName("seconds_late")] - public double? SecondsLate { get; set; } - - [JsonPropertyName("workflow_state")] - public string WorkflowState { get; set; } - - [JsonPropertyName("extra_attempts")] - public uint? ExtraAttempts { get; set; } - - [JsonPropertyName("anonymous_id")] - public string? AnonymousId { get; set; } - - // Type = Conference - - [JsonPropertyName("web_conference_id")] - public ulong? WebConferenceId { get; set; } - - // Type = Collaboration - - [JsonPropertyName("collaboration_id")] - public ulong? CollaborationId { get; set; } - - // Type = AssignmentRequest - - [JsonPropertyName("assignment_request_id")] - public ulong? AssignmentRequestId { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("assignment_request_id")] + ulong? AssignmentRequestId = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/ActivityStreamSummaryEntryModel.cs b/Management/Models/CanvasModel/Users/ActivityStreamSummaryEntryModel.cs index 5a8e9ed..3358628 100644 --- a/Management/Models/CanvasModel/Users/ActivityStreamSummaryEntryModel.cs +++ b/Management/Models/CanvasModel/Users/ActivityStreamSummaryEntryModel.cs @@ -2,17 +2,14 @@ namespace CanvasModel.Users; -public class ActivityStreamSummaryEntryModel -{ +public record ActivityStreamSummaryEntryModel +( + [property: JsonPropertyName("type")] + string Type, - [JsonPropertyName("type")] - public string Type { get; set; } + [property: JsonPropertyName("unread_count")] + uint UnreadCount, - [JsonPropertyName("unread_count")] - public uint UnreadCount { get; set; } - - [JsonPropertyName("count")] - public uint Count { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("count")] + uint Count +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/AnonymousUserDisplayModel.cs b/Management/Models/CanvasModel/Users/AnonymousUserDisplayModel.cs index 8511eda..851e04d 100644 --- a/Management/Models/CanvasModel/Users/AnonymousUserDisplayModel.cs +++ b/Management/Models/CanvasModel/Users/AnonymousUserDisplayModel.cs @@ -1,15 +1,10 @@ - - - namespace CanvasModel.Users; -public class AnonymousUserDisplayModel -{ - [JsonPropertyName("anonymous_id")] - public string AnonymousId { get; set; } +public record AnonymousUserDisplayModel +( + [property: JsonPropertyName("anonymous_id")] + string AnonymousId, - [JsonPropertyName("avatar_image_url")] - public string AvatarImageUrl { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("avatar_image_url")] + string AvatarImageUrl +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/AvatarModel.cs b/Management/Models/CanvasModel/Users/AvatarModel.cs index 704cdf6..fd6554a 100644 --- a/Management/Models/CanvasModel/Users/AvatarModel.cs +++ b/Management/Models/CanvasModel/Users/AvatarModel.cs @@ -1,33 +1,28 @@ - - - namespace CanvasModel.Users; -public class AvatarModel -{ - [JsonPropertyName("type")] - public string Type { get; set; } +public record AvatarModel +( + [property: JsonPropertyName("type")] + string Type, - [JsonPropertyName("url")] - public string Url { get; set; } + [property: JsonPropertyName("url")] + string Url, - [JsonPropertyName("token")] - public string Token { get; set; } + [property: JsonPropertyName("token")] + string Token, - [JsonPropertyName("display_name")] - public string DisplayName { get; set; } + [property: JsonPropertyName("display_name")] + string DisplayName, - [JsonPropertyName("id")] - public ulong Id { get; set; } + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("content_type")] - public string ContentType { get; set; } + [property: JsonPropertyName("content_type")] + string ContentType, - [JsonPropertyName("filename")] - public string Filename { get; set; } + [property: JsonPropertyName("filename")] + string Filename, - [JsonPropertyName("size")] - public ulong Size { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("size")] + ulong Size +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/CourseNicknameModel.cs b/Management/Models/CanvasModel/Users/CourseNicknameModel.cs index ba7fe8d..fe0456b 100644 --- a/Management/Models/CanvasModel/Users/CourseNicknameModel.cs +++ b/Management/Models/CanvasModel/Users/CourseNicknameModel.cs @@ -1,18 +1,13 @@ - - - namespace CanvasModel.Users; -public class CourseNicknameModel -{ - [JsonPropertyName("course_id")] - public ulong CourseId { get; set; } +public record CourseNicknameModel +( + [property: JsonPropertyName("course_id")] + ulong CourseId, - [JsonPropertyName("name")] - public string Name { get; set; } + [property: JsonPropertyName("name")] + string Name, - [JsonPropertyName("nickname")] - public string Nickname { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("nickname")] + string Nickname +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/PageViewLinksModel.cs b/Management/Models/CanvasModel/Users/PageViewLinksModel.cs index be3ca9f..5406036 100644 --- a/Management/Models/CanvasModel/Users/PageViewLinksModel.cs +++ b/Management/Models/CanvasModel/Users/PageViewLinksModel.cs @@ -1,24 +1,19 @@ - - - namespace CanvasModel.Users; -public class PageViewLinksModel -{ - [JsonPropertyName("user")] - public ulong User { get; set; } +public record PageViewLinksModel +( + [property: JsonPropertyName("user")] + ulong User, - [JsonPropertyName("context")] - public ulong? Context { get; set; } + [property: JsonPropertyName("context")] + ulong? Context = null, - [JsonPropertyName("asset")] - public ulong? Asset { get; set; } + [property: JsonPropertyName("asset")] + ulong? Asset = null, - [JsonPropertyName("real_user")] - public ulong? RealUser { get; set; } + [property: JsonPropertyName("real_user")] + ulong? RealUser = null, - [JsonPropertyName("account")] - public ulong? Account { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("account")] + ulong? Account = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/PageViewModel.cs b/Management/Models/CanvasModel/Users/PageViewModel.cs index 9eb8a7b..03d43f7 100644 --- a/Management/Models/CanvasModel/Users/PageViewModel.cs +++ b/Management/Models/CanvasModel/Users/PageViewModel.cs @@ -1,58 +1,53 @@ -using System; - - - namespace CanvasModel.Users; -public class PageViewModel -{ - [JsonPropertyName("id")] - public string Id { get; set; } +public record PageViewModel +( - [JsonPropertyName("app_name")] - public string AppName { get; set; } + [property: JsonPropertyName("id")] + string Id, - [JsonPropertyName("url")] - public string Url { get; set; } + [property: JsonPropertyName("app_name")] + string AppName, - [JsonPropertyName("context_type")] - public string ContextType { get; set; } + [property: JsonPropertyName("url")] + string Url, - [JsonPropertyName("asset_type")] - public string AssetType { get; set; } + [property: JsonPropertyName("context_type")] + string ContextType, - [JsonPropertyName("controller")] - public string Controller { get; set; } + [property: JsonPropertyName("asset_type")] + string AssetType, - [JsonPropertyName("action")] - public string Action { get; set; } + [property: JsonPropertyName("controller")] + string Controller, - [JsonPropertyName("interaction_seconds")] - public decimal? InteractionSeconds { get; set; } + [property: JsonPropertyName("action")] + string Action, - [JsonPropertyName("created_at")] - public DateTime CreatedAt { get; set; } + [property: JsonPropertyName("created_at")] + DateTime CreatedAt, - [JsonPropertyName("user_request")] - public bool? UserRequest { get; set; } + [property: JsonPropertyName("links")] + PageViewLinksModel Links, - [JsonPropertyName("render_time")] - public double? RenderTime { get; set; } + [property: JsonPropertyName("interaction_seconds")] + decimal? InteractionSeconds = null, - [JsonPropertyName("user_agent")] - public string UserAgent { get; set; } + [property: JsonPropertyName("user_request")] + bool? UserRequest = null, - [JsonPropertyName("participated")] - public bool? Participated { get; set; } + [property: JsonPropertyName("render_time")] + double? RenderTime = null, - [JsonPropertyName("http_method")] - public string HttpMethod { get; set; } + [property: JsonPropertyName("user_agent")] + string UserAgent = null, - [JsonPropertyName("remote_ip")] - public string RemoteIp { get; set; } + [property: JsonPropertyName("participated")] + bool? Participated = null, - [JsonPropertyName("links")] - public PageViewLinksModel Links { get; set; } + [property: JsonPropertyName("http_method")] + string HttpMethod = null, - -} \ No newline at end of file + [property: JsonPropertyName("remote_ip")] + string RemoteIp = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/ProfileModel.cs b/Management/Models/CanvasModel/Users/ProfileModel.cs index 8729342..b1e63f2 100644 --- a/Management/Models/CanvasModel/Users/ProfileModel.cs +++ b/Management/Models/CanvasModel/Users/ProfileModel.cs @@ -1,51 +1,46 @@ - - - namespace CanvasModel.Users; -public class ProfileModel -{ - [JsonPropertyName("id")] - public ulong Id { get; set; } +public record ProfileModel +( + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("name")] - public string Name { get; set; } + [property: JsonPropertyName("name")] + string Name, - [JsonPropertyName("short_name")] - public string ShortName { get; set; } + [property: JsonPropertyName("short_name")] + string ShortName, - [JsonPropertyName("sortable_name")] - public string SortableName { get; set; } + [property: JsonPropertyName("sortable_name")] + string SortableName, - [JsonPropertyName("title")] - public string Title { get; set; } + [property: JsonPropertyName("title")] + string Title, - [JsonPropertyName("bio")] - public string Bio { get; set; } + [property: JsonPropertyName("bio")] + string Bio, - [JsonPropertyName("primary_email")] - public string PrimaryEmail { get; set; } + [property: JsonPropertyName("primary_email")] + string PrimaryEmail, - [JsonPropertyName("login_id")] - public string LoginId { get; set; } + [property: JsonPropertyName("login_id")] + string LoginId, - [JsonPropertyName("sis_user_id")] - public string SisUserId { get; set; } + [property: JsonPropertyName("sis_user_id")] + string SisUserId, - [JsonPropertyName("lti_user_id")] - public string LtiUserId { get; set; } + [property: JsonPropertyName("lti_user_id")] + string LtiUserId, - [JsonPropertyName("avatar_url")] - public string AvatarUrl { get; set; } + [property: JsonPropertyName("avatar_url")] + string AvatarUrl, - [JsonPropertyName("calendar")] - public object Calendar { get; set; } + [property: JsonPropertyName("calendar")] + object Calendar, - [JsonPropertyName("time_zone")] - public string TimeZone { get; set; } + [property: JsonPropertyName("time_zone")] + string TimeZone, - [JsonPropertyName("locale")] - public string Locale { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("locale")] + string Locale +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/ShortUserModel.cs b/Management/Models/CanvasModel/Users/ShortUserModel.cs index 5ed6307..3d9cd79 100644 --- a/Management/Models/CanvasModel/Users/ShortUserModel.cs +++ b/Management/Models/CanvasModel/Users/ShortUserModel.cs @@ -1,18 +1,17 @@ - - namespace CanvasModel.Users; -public class ShortUserModel -{ - [JsonPropertyName("id")] - public ulong Id { get; set; } +public record ShortUserModel +( - [JsonPropertyName("display_name")] - public string DisplayName { get; set; } + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("avatar_image_url")] - public string AvatarImageUrl { get; set; } + [property: JsonPropertyName("display_name")] + string DisplayName, - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } -} + [property: JsonPropertyName("avatar_image_url")] + string AvatarImageUrl, + + [property: JsonPropertyName("html_url")] + string HtmlUrl +); diff --git a/Management/Models/CanvasModel/Users/UserDisplayModel.cs b/Management/Models/CanvasModel/Users/UserDisplayModel.cs index 1053552..1825627 100644 --- a/Management/Models/CanvasModel/Users/UserDisplayModel.cs +++ b/Management/Models/CanvasModel/Users/UserDisplayModel.cs @@ -1,29 +1,25 @@ - - - - namespace CanvasModel.Users; -public class UserDisplayModel -{ - [JsonPropertyName("id")] - public ulong? Id { get; set; } +public record UserDisplayModel +( + [property: JsonPropertyName("avatar_image_url")] + string AvatarImageUrl, - [JsonPropertyName("short_name")] - public string? ShortName { get; set; } + [property: JsonPropertyName("html_url")] + string HtmlUrl, - [JsonPropertyName("display_name")] - public string? DisplayName { get; set; } + [property: JsonPropertyName("id")] + ulong? Id = null, - [JsonPropertyName("avatar_image_url")] - public string AvatarImageUrl { get; set; } + [property: JsonPropertyName("short_name")] + string? ShortName = null, - [JsonPropertyName("html_url")] - public string HtmlUrl { get; set; } + [property: JsonPropertyName("display_name")] + string? DisplayName = null, - [JsonPropertyName("pronouns")] - public string? Pronouns { get; set; } + [property: JsonPropertyName("pronouns")] + string? Pronouns = null, - [JsonPropertyName("anonymous_id")] - public string AnonymousId { get; set; } -} \ No newline at end of file + [property: JsonPropertyName("anonymous_id")] + string AnonymousId = null +); \ No newline at end of file diff --git a/Management/Models/CanvasModel/Users/UserModel.cs b/Management/Models/CanvasModel/Users/UserModel.cs index fe97790..436c55e 100644 --- a/Management/Models/CanvasModel/Users/UserModel.cs +++ b/Management/Models/CanvasModel/Users/UserModel.cs @@ -1,59 +1,56 @@ using CanvasModel.Enrollments; namespace CanvasModel.Users; -public class UserModel -{ +public record UserModel +( + [property: JsonPropertyName("id")] + ulong Id, - [JsonPropertyName("id")] - public ulong Id { get; set; } + [property: JsonPropertyName("name")] + string Name, - [JsonPropertyName("name")] - public string Name { get; set; } + [property: JsonPropertyName("sortable_name")] + string SortableName, - [JsonPropertyName("sortable_name")] - public string SortableName { get; set; } + [property: JsonPropertyName("short_name")] + string ShortName, - [JsonPropertyName("short_name")] - public string ShortName { get; set; } + [property: JsonPropertyName("sis_user_id")] + string SisUserId, - [JsonPropertyName("sis_user_id")] - public string SisUserId { get; set; } + [property: JsonPropertyName("integration_id")] + string IntegrationId, - [JsonPropertyName("sis_import_id")] - public ulong? SisImportId { get; set; } + [property: JsonPropertyName("login_id")] + string LoginId, - [JsonPropertyName("integration_id")] - public string IntegrationId { get; set; } + [property: JsonPropertyName("avatar_url")] + string AvatarUrl, - [JsonPropertyName("login_id")] - public string LoginId { get; set; } + [property: JsonPropertyName("enrollments")] + List Enrollments, - [JsonPropertyName("avatar_url")] - public string AvatarUrl { get; set; } + [property: JsonPropertyName("email")] + string Email, - [JsonPropertyName("enrollments")] - public List Enrollments { get; set; } + [property: JsonPropertyName("locale")] + string Locale, - [JsonPropertyName("email")] - public string Email { get; set; } + [property: JsonPropertyName("effective_locale")] + string EffectiveLocale, - [JsonPropertyName("locale")] - public string Locale { get; set; } + [property: JsonPropertyName("time_zone")] + string TimeZone, - [JsonPropertyName("effective_locale")] - public string EffectiveLocale { get; set; } + [property: JsonPropertyName("bio")] + string Bio, - [JsonPropertyName("last_login")] - public DateTime? LastLogin { get; set; } + [property: JsonPropertyName("permissions")] + Dictionary Permissions, - [JsonPropertyName("time_zone")] - public string TimeZone { get; set; } + [property: JsonPropertyName("sis_import_id")] + ulong? SisImportId = null, - [JsonPropertyName("bio")] - public string Bio { get; set; } - - [JsonPropertyName("permissions")] - public Dictionary Permissions { get; set; } - - -} \ No newline at end of file + [property: JsonPropertyName("last_login")] + DateTime? LastLogin = null +); \ No newline at end of file