cufflink_types/manifest/
authorization.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct AuthorizationConfig {
6 #[serde(default)]
8 pub areas: Vec<PermissionAreaDef>,
9 #[serde(default)]
11 pub default_roles: Vec<DefaultRoleDef>,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct PermissionAreaDef {
17 pub name: String,
18 #[serde(default)]
19 pub operations: Vec<String>,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct DefaultRoleDef {
25 pub name: String,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub description: Option<String>,
28 #[serde(default)]
29 pub permissions: Vec<String>,
30}