Skip to main content

canvas_lms_api/resources/params/
assignment_params.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Default, Serialize, Deserialize)]
5pub struct CreateAssignmentParams {
6    pub name: String,
7    #[serde(skip_serializing_if = "Option::is_none")]
8    pub description: Option<String>,
9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub due_at: Option<DateTime<Utc>>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub unlock_at: Option<DateTime<Utc>>,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub lock_at: Option<DateTime<Utc>>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub points_possible: Option<f64>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub grading_type: Option<String>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub submission_types: Option<Vec<String>>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub published: Option<bool>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub assignment_group_id: Option<u64>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub position: Option<u64>,
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub omit_from_final_grade: Option<bool>,
29}
30
31#[derive(Debug, Default, Serialize, Deserialize)]
32pub struct UpdateAssignmentParams {
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub name: Option<String>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub description: Option<String>,
37    #[serde(skip_serializing_if = "Option::is_none")]
38    pub due_at: Option<DateTime<Utc>>,
39    #[serde(skip_serializing_if = "Option::is_none")]
40    pub points_possible: Option<f64>,
41    #[serde(skip_serializing_if = "Option::is_none")]
42    pub published: Option<bool>,
43}