Skip to main content

canvas_lms_api/resources/
role.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Deserialize, Serialize)]
4pub struct RolePermission {
5    pub enabled: Option<bool>,
6    pub locked: Option<bool>,
7    pub applicable: Option<bool>,
8    pub readonly: Option<bool>,
9    pub explicit: Option<bool>,
10    pub prior_default: Option<bool>,
11}
12
13#[derive(Debug, Clone, Deserialize, Serialize)]
14pub struct Role {
15    pub id: Option<u64>,
16    pub role: Option<String>,
17    pub label: Option<String>,
18    pub base_role_type: Option<String>,
19    pub account: Option<serde_json::Value>,
20    pub workflow_state: Option<String>,
21    pub permissions: Option<std::collections::HashMap<String, RolePermission>>,
22}
23
24#[derive(Debug, Clone, Default, Serialize)]
25pub struct RoleParams {
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub base_role_type: Option<String>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub permissions: Option<serde_json::Value>,
30}