Skip to main content

canvas_lms_api/resources/
feature.rs

1use serde::{Deserialize, Serialize};
2
3/// Metadata about a Canvas feature flag option.
4#[derive(Debug, Clone, Deserialize, Serialize)]
5pub struct Feature {
6    pub feature: Option<String>,
7    pub display_name: Option<String>,
8    pub applies_to: Option<String>,
9    pub enable_at: Option<String>,
10    pub beta: Option<bool>,
11    pub development: Option<bool>,
12    pub autoexpand: Option<bool>,
13    pub feature_flag: Option<FeatureFlag>,
14}
15
16/// The state of a feature flag for a particular context (account, course, or user).
17#[derive(Debug, Clone, Deserialize, Serialize)]
18pub struct FeatureFlag {
19    pub feature: Option<String>,
20    pub context_type: Option<String>,
21    pub context_id: Option<u64>,
22    /// One of: `"on"`, `"off"`, `"allowed"`, `"allowed_on"`, `"hidden"`
23    pub state: Option<String>,
24    pub locked: Option<bool>,
25    pub transitions: Option<serde_json::Value>,
26}