openapi_github/models/
classroom_assignment_grade.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// ClassroomAssignmentGrade : Grade for a student or groups GitHub Classroom assignment
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ClassroomAssignmentGrade {
17    /// Name of the assignment
18    #[serde(rename = "assignment_name")]
19    pub assignment_name: String,
20    /// URL of the assignment
21    #[serde(rename = "assignment_url")]
22    pub assignment_url: String,
23    /// URL of the starter code for the assignment
24    #[serde(rename = "starter_code_url")]
25    pub starter_code_url: String,
26    /// GitHub username of the student
27    #[serde(rename = "github_username")]
28    pub github_username: String,
29    /// Roster identifier of the student
30    #[serde(rename = "roster_identifier")]
31    pub roster_identifier: String,
32    /// Name of the student's assignment repository
33    #[serde(rename = "student_repository_name")]
34    pub student_repository_name: String,
35    /// URL of the student's assignment repository
36    #[serde(rename = "student_repository_url")]
37    pub student_repository_url: String,
38    /// Timestamp of the student's assignment submission
39    #[serde(rename = "submission_timestamp")]
40    pub submission_timestamp: String,
41    /// Number of points awarded to the student
42    #[serde(rename = "points_awarded")]
43    pub points_awarded: i32,
44    /// Number of points available for the assignment
45    #[serde(rename = "points_available")]
46    pub points_available: i32,
47    /// If a group assignment, name of the group the student is in
48    #[serde(rename = "group_name", skip_serializing_if = "Option::is_none")]
49    pub group_name: Option<String>,
50}
51
52impl ClassroomAssignmentGrade {
53    /// Grade for a student or groups GitHub Classroom assignment
54    pub fn new(assignment_name: String, assignment_url: String, starter_code_url: String, github_username: String, roster_identifier: String, student_repository_name: String, student_repository_url: String, submission_timestamp: String, points_awarded: i32, points_available: i32) -> ClassroomAssignmentGrade {
55        ClassroomAssignmentGrade {
56            assignment_name,
57            assignment_url,
58            starter_code_url,
59            github_username,
60            roster_identifier,
61            student_repository_name,
62            student_repository_url,
63            submission_timestamp,
64            points_awarded,
65            points_available,
66            group_name: None,
67        }
68    }
69}
70