scafolded project

This commit is contained in:
2023-01-03 18:36:40 -07:00
parent b2e79697b8
commit 55cd8162ed
161 changed files with 5987 additions and 0 deletions

View File

@@ -0,0 +1,203 @@
using System;
using System.Collections.Generic;
using Model.Assignments;
using Model.Courses;
using Model.Submissions;
//
namespace Model.Users {
public class ActivityStreamObjectModel {
// General
[JsonPropertyName("created_at")]
public DateTime CreatedAt { get; set; }
[JsonPropertyName("updated_at")]
public DateTime? UpdatedAt { get; set; }
[JsonPropertyName("id")]
public ulong Id { get; set; }
[JsonPropertyName("title")]
public string Title { get; set; }
[JsonPropertyName("message")]
public string Message { get; set; }
[JsonPropertyName("type")]
public string Type { get; set; }
[JsonPropertyName("read_state")]
public bool ReadState { get; set; }
[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("html_url")]
public string HtmlUrl { get; set; }
//
// Type = DiscussionTopic | Announcement
[JsonPropertyName("total_root_discussion_entries")]
public uint? TotalRootDiscussionEntries { get; set; }
[JsonPropertyName("require_initial_post")]
public bool? RequireInitialPost { get; set; }
[JsonPropertyName("user_has_posted")]
public bool? UserHasPosted { get; set; }
[JsonPropertyName("root_discussion_entries")]
public object RootDiscussionEntries { get; set; } // todo this class/model
//
// Type = DiscussionTopic
[JsonPropertyName("discussion_topic_id")]
public ulong? DiscussionTopicId { get; set; }
//
// Type = Announcement
[JsonPropertyName("announcement_id")]
public ulong? AnnouncementId { get; set; }
//
// Type = Conversation
[JsonPropertyName("conversation_id")]
public ulong? ConversationId { get; set; }
[JsonPropertyName("private")]
public bool? Private { get; set; }
[JsonPropertyName("participant_count")]
public uint? ParticipantCount { get; set; }
//
// Type = Message
[JsonPropertyName("message_id")]
public ulong? MessageId { get; set; }
[JsonPropertyName("notification_category")]
public string NotificationCategory { get; set; }
//
// Type = Submission
[JsonPropertyName("assignment_id")]
public ulong? AssignmentId { get; set; }
[JsonPropertyName("assignment")]
public AssignmentModel? Assignment { get; set; }
[JsonPropertyName("course")]
public CourseModel? Course { get; set; }
[JsonPropertyName("attempt")]
public uint? Attempt { get; set; }
[JsonPropertyName("body")]
public string? Body { get; set; }
[JsonPropertyName("grade")]
public string Grade { get; set; }
[JsonPropertyName("grade_matches_current_submission")]
public bool? GradeMatchesCurrentSubmission { get; set; }
[JsonPropertyName("preview_url")]
public string PreviewUrl { get; set; }
[JsonPropertyName("score")]
public decimal? Score { get; set; }
[JsonPropertyName("submission_comments")]
public IEnumerable<SubmissionCommentModel>? SubmissionComments { get; set; }
[JsonPropertyName("submission_type")]
public string SubmissionType { get; set; }
[JsonPropertyName("submitted_at")]
public DateTime? SubmittedAt { get; set; }
[JsonPropertyName("url")]
public string? Url { get; set; }
[JsonPropertyName("user_id")]
public ulong? UserId { get; set; }
[JsonPropertyName("grader_id")]
public long? GraderId { get; set; } // why can this be negative???
[JsonPropertyName("graded_at")]
public DateTime? GradedAt { get; set; }
[JsonPropertyName("user")]
public UserModel? User { get; set; }
[JsonPropertyName("late")]
public bool? Late { get; set; }
[JsonPropertyName("assignment_visible")]
public bool? AssignmentVisible { get; set; }
[JsonPropertyName("excused")]
public bool? Excused { get; set; }
[JsonPropertyName("missing")]
public bool? Missing { get; set; }
[JsonPropertyName("late_policy_status")]
public string LatePolicyStatus { get; set; }
[JsonPropertyName("points_deducted")]
public double? PointsDeducted { get; set; }
[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; }
}
}

View File

@@ -0,0 +1,19 @@
namespace Model.Users {
public class ActivityStreamSummaryEntryModel {
[JsonPropertyName("type")]
public string Type { get; set; }
[JsonPropertyName("unread_count")]
public uint UnreadCount { get; set; }
[JsonPropertyName("count")]
public uint Count { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace Model.Users {
public class AnonymousUserDisplayModel {
[JsonPropertyName("anonymous_id")]
public string AnonymousId { get; set; }
[JsonPropertyName("avatar_image_url")]
public string AvatarImageUrl { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace Model.Users {
public class AvatarModel {
[JsonPropertyName("type")]
public string Type { get; set; }
[JsonPropertyName("url")]
public string Url { get; set; }
[JsonPropertyName("token")]
public string Token { get; set; }
[JsonPropertyName("display_name")]
public string DisplayName { get; set; }
[JsonPropertyName("id")]
public ulong Id { get; set; }
[JsonPropertyName("content_type")]
public string ContentType { get; set; }
[JsonPropertyName("filename")]
public string Filename { get; set; }
[JsonPropertyName("size")]
public ulong Size { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
namespace Model.Users {
public class CourseNicknameModel {
[JsonPropertyName("course_id")]
public ulong CourseId { get; set; }
[JsonPropertyName("name")]
public string Name { get; set; }
[JsonPropertyName("nickname")]
public string Nickname { get; set; }
}
}

View File

@@ -0,0 +1,24 @@
namespace Model.Users {
public class PageViewLinksModel {
[JsonPropertyName("user")]
public ulong User { get; set; }
[JsonPropertyName("context")]
public ulong? Context { get; set; }
[JsonPropertyName("asset")]
public ulong? Asset { get; set; }
[JsonPropertyName("real_user")]
public ulong? RealUser { get; set; }
[JsonPropertyName("account")]
public ulong? Account { get; set; }
}
}

View File

@@ -0,0 +1,58 @@
using System;
namespace Model.Users {
public class PageViewModel {
[JsonPropertyName("id")]
public string Id { get; set; }
[JsonPropertyName("app_name")]
public string AppName { get; set; }
[JsonPropertyName("url")]
public string Url { get; set; }
[JsonPropertyName("context_type")]
public string ContextType { get; set; }
[JsonPropertyName("asset_type")]
public string AssetType { get; set; }
[JsonPropertyName("controller")]
public string Controller { get; set; }
[JsonPropertyName("action")]
public string Action { get; set; }
[JsonPropertyName("interaction_seconds")]
public decimal? InteractionSeconds { get; set; }
[JsonPropertyName("created_at")]
public DateTime CreatedAt { get; set; }
[JsonPropertyName("user_request")]
public bool? UserRequest { get; set; }
[JsonPropertyName("render_time")]
public double? RenderTime { get; set; }
[JsonPropertyName("user_agent")]
public string UserAgent { get; set; }
[JsonPropertyName("participated")]
public bool? Participated { get; set; }
[JsonPropertyName("http_method")]
public string HttpMethod { get; set; }
[JsonPropertyName("remote_ip")]
public string RemoteIp { get; set; }
[JsonPropertyName("links")]
public PageViewLinksModel Links { get; set; }
}
}

View File

@@ -0,0 +1,51 @@
namespace Model.Users {
public class ProfileModel {
[JsonPropertyName("id")]
public ulong Id { get; set; }
[JsonPropertyName("name")]
public string Name { get; set; }
[JsonPropertyName("short_name")]
public string ShortName { get; set; }
[JsonPropertyName("sortable_name")]
public string SortableName { get; set; }
[JsonPropertyName("title")]
public string Title { get; set; }
[JsonPropertyName("bio")]
public string Bio { get; set; }
[JsonPropertyName("primary_email")]
public string PrimaryEmail { get; set; }
[JsonPropertyName("login_id")]
public string LoginId { get; set; }
[JsonPropertyName("sis_user_id")]
public string SisUserId { get; set; }
[JsonPropertyName("lti_user_id")]
public string LtiUserId { get; set; }
[JsonPropertyName("avatar_url")]
public string AvatarUrl { get; set; }
[JsonPropertyName("calendar")]
public object Calendar { get; set; }
[JsonPropertyName("time_zone")]
public string TimeZone { get; set; }
[JsonPropertyName("locale")]
public string Locale { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
namespace Model.Users {
public class ShortUserModel {
[JsonPropertyName("id")]
public ulong Id { get; set; }
[JsonPropertyName("display_name")]
public string DisplayName { get; set; }
[JsonPropertyName("avatar_image_url")]
public string AvatarImageUrl { get; set; }
[JsonPropertyName("html_url")]
public string HtmlUrl { get; set; }
}
}

View File

@@ -0,0 +1,30 @@
namespace Model.Users {
public class UserDisplayModel {
[JsonPropertyName("id")]
public ulong? Id { get; set; }
[JsonPropertyName("short_name")]
public string? ShortName { get; set; }
[JsonPropertyName("display_name")]
public string? DisplayName { get; set; }
[JsonPropertyName("avatar_image_url")]
public string AvatarImageUrl { get; set; }
[JsonPropertyName("html_url")]
public string HtmlUrl { get; set; }
[JsonPropertyName("pronouns")]
public string? Pronouns { get; set; }
[JsonPropertyName("anonymous_id")]
public string AnonymousId { get; set; }
}
}

View File

@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using Model.Enrollments;
namespace Model.Users {
public class UserModel {
[JsonPropertyName("id")]
public ulong Id { get; set; }
[JsonPropertyName("name")]
public string Name { get; set; }
[JsonPropertyName("sortable_name")]
public string SortableName { get; set; }
[JsonPropertyName("short_name")]
public string ShortName { get; set; }
[JsonPropertyName("sis_user_id")]
public string SisUserId { get; set; }
[JsonPropertyName("sis_import_id")]
public ulong? SisImportId { get; set; }
[JsonPropertyName("integration_id")]
public string IntegrationId { get; set; }
[JsonPropertyName("login_id")]
public string LoginId { get; set; }
[JsonPropertyName("avatar_url")]
public string AvatarUrl { get; set; }
[JsonPropertyName("enrollments")]
public List<EnrollmentModel> Enrollments { get; set; }
[JsonPropertyName("email")]
public string Email { get; set; }
[JsonPropertyName("locale")]
public string Locale { get; set; }
[JsonPropertyName("effective_locale")]
public string EffectiveLocale { get; set; }
[JsonPropertyName("last_login")]
public DateTime? LastLogin { get; set; }
[JsonPropertyName("time_zone")]
public string TimeZone { get; set; }
[JsonPropertyName("bio")]
public string Bio { get; set; }
[JsonPropertyName("permissions")]
public Dictionary<string, bool> Permissions { get; set; }
}
}