Skip to main content

canvas_lms_api/resources/params/
course_params.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Default, Serialize, Deserialize)]
5pub struct CreateCourseParams {
6    #[serde(skip_serializing_if = "Option::is_none")]
7    pub name: Option<String>,
8    #[serde(skip_serializing_if = "Option::is_none")]
9    pub course_code: Option<String>,
10    #[serde(skip_serializing_if = "Option::is_none")]
11    pub start_at: Option<DateTime<Utc>>,
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub end_at: Option<DateTime<Utc>>,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub license: Option<String>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub is_public: Option<bool>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub is_public_to_auth_users: Option<bool>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub public_syllabus: Option<bool>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub public_description: Option<String>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub allow_student_wiki_edits: Option<bool>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub allow_wiki_comments: Option<bool>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub allow_student_forum_attachments: Option<bool>,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub open_enrollment: Option<bool>,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub self_enrollment: Option<bool>,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub restrict_enrollments_to_course_dates: Option<bool>,
36    #[serde(skip_serializing_if = "Option::is_none")]
37    pub term_id: Option<u64>,
38    #[serde(skip_serializing_if = "Option::is_none")]
39    pub sis_course_id: Option<String>,
40    #[serde(skip_serializing_if = "Option::is_none")]
41    pub hide_final_grades: Option<bool>,
42    #[serde(skip_serializing_if = "Option::is_none")]
43    pub apply_assignment_group_weights: Option<bool>,
44    #[serde(skip_serializing_if = "Option::is_none")]
45    pub time_zone: Option<String>,
46}
47
48#[derive(Debug, Default, Serialize, Deserialize)]
49pub struct UpdateCourseParams {
50    #[serde(skip_serializing_if = "Option::is_none")]
51    pub name: Option<String>,
52    #[serde(skip_serializing_if = "Option::is_none")]
53    pub course_code: Option<String>,
54    #[serde(skip_serializing_if = "Option::is_none")]
55    pub start_at: Option<DateTime<Utc>>,
56    #[serde(skip_serializing_if = "Option::is_none")]
57    pub end_at: Option<DateTime<Utc>>,
58    #[serde(skip_serializing_if = "Option::is_none")]
59    pub syllabus_body: Option<String>,
60    #[serde(skip_serializing_if = "Option::is_none")]
61    pub hide_final_grades: Option<bool>,
62    #[serde(skip_serializing_if = "Option::is_none")]
63    pub time_zone: Option<String>,
64}