passing canvas models tests

This commit is contained in:
2023-01-04 21:51:23 -07:00
parent 8fec96ce5c
commit ed897bc96e
42 changed files with 30 additions and 48 deletions

View File

@@ -0,0 +1,19 @@
namespace CanvasModel.Submissions;
public record MediaCommentModel
(
[property: JsonPropertyName("content-type")]
string ContentType,
[property: JsonPropertyName("display_name")]
string DisplayName,
[property: JsonPropertyName("media_id")]
string MediaId,
[property: JsonPropertyName("media_type")]
string MediaType,
[property: JsonPropertyName("url")]
string Url
);

View File

@@ -0,0 +1,29 @@
using CanvasModel.Users;
namespace CanvasModel.Submissions;
public record SubmissionCommentModel
(
[property: JsonPropertyName("id")]
ulong Id,
[property: JsonPropertyName("author_id")]
ulong AuthorId,
[property: JsonPropertyName("author_name")]
string AuthorName,
[property: JsonPropertyName("author")]
UserDisplayModel Author,
[property: JsonPropertyName("comment")]
string Comment,
[property: JsonPropertyName("created_at")]
DateTime CreatedAt,
[property: JsonPropertyName("edited_at")]
DateTime? EditedAt = null,
[property: JsonPropertyName("media_comment")]
MediaCommentModel? MediaComment = null
);

View File

@@ -0,0 +1,91 @@
using CanvasModel.Assignments;
using CanvasModel.Courses;
using CanvasModel.Users;
namespace CanvasModel.Submissions;
public record SubmissionModel
(
[property: JsonPropertyName("assignment_id")]
ulong AssignmentId,
[property: JsonPropertyName("grade")]
string Grade,
[property: JsonPropertyName("html_url")]
string HtmlUrl,
[property: JsonPropertyName("preview_url")]
string PreviewUrl,
[property: JsonPropertyName("submission_type")]
string SubmissionType,
[property: JsonPropertyName("user_id")]
ulong UserId,
[property: JsonPropertyName("user")]
UserModel User,
[property: JsonPropertyName("workflow_state")]
string WorkflowState,
[property: JsonPropertyName("late_policy_status")]
string LatePolicyStatus,
[property: JsonPropertyName("assignment")]
AssignmentModel? Assignment = null,
[property: JsonPropertyName("course")]
CourseModel? Course = null,
[property: JsonPropertyName("attempt")]
uint? Attempt = null,
[property: JsonPropertyName("body")]
string? Body = null,
[property: JsonPropertyName("grade_matches_current_submission")]
bool? GradeMatchesCurrentSubmission = null,
[property: JsonPropertyName("score")]
decimal? Score = null,
[property: JsonPropertyName("submission_comments")]
IEnumerable<SubmissionCommentModel>? SubmissionComments = null,
[property: JsonPropertyName("submitted_at")]
DateTime? SubmittedAt = null,
[property: JsonPropertyName("url")]
string? Url = null,
[property: JsonPropertyName("grader_id")]
long? GraderId = null,
[property: JsonPropertyName("graded_at")]
DateTime? GradedAt = null,
[property: JsonPropertyName("late")]
bool? Late = null,
[property: JsonPropertyName("assignment_visible")]
bool? AssignmentVisible = null,
[property: JsonPropertyName("excused")]
bool? Excused = null,
[property: JsonPropertyName("missing")]
bool? Missing = null,
[property: JsonPropertyName("points_deducted")]
double? PointsDeducted = null,
[property: JsonPropertyName("seconds_late")]
double? SecondsLate = null,
[property: JsonPropertyName("extra_attempts")]
uint? ExtraAttempts = null,
[property: JsonPropertyName("anonymous_id")]
string? AnonymousId = null
);