Skip to main content

canvas_lms_api/resources/
assignment.rs

1use crate::resources::types::{SubmissionType, WorkflowState};
2use chrono::{DateTime, Utc};
3use serde::{Deserialize, Serialize};
4
5/// A Canvas assignment.
6#[derive(Debug, Clone, Deserialize, Serialize)]
7pub struct Assignment {
8    pub id: u64,
9    pub course_id: Option<u64>,
10    pub name: Option<String>,
11    pub description: Option<String>,
12    pub due_at: Option<DateTime<Utc>>,
13    pub unlock_at: Option<DateTime<Utc>>,
14    pub lock_at: Option<DateTime<Utc>>,
15    pub points_possible: Option<f64>,
16    pub grading_type: Option<String>,
17    pub assignment_group_id: Option<u64>,
18    pub workflow_state: Option<WorkflowState>,
19    pub submission_types: Option<Vec<SubmissionType>>,
20    pub published: Option<bool>,
21    pub muted: Option<bool>,
22    pub html_url: Option<String>,
23    pub has_overrides: Option<bool>,
24    pub needs_grading_count: Option<u64>,
25    pub position: Option<u64>,
26    pub omit_from_final_grade: Option<bool>,
27    pub locked_for_user: Option<bool>,
28}