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