canvas_lms_api/resources/params/
course_params.rs1use 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}