morphir_core/ir/classic/access.rs
1//! Classic IR Access Control types
2//!
3//! Access control wrappers for the Classic Morphir IR format.
4
5use serde::{Deserialize, Serialize};
6
7/// Access level - serialized as PascalCase ("Public" or "Private")
8#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
9pub enum Access {
10 Public,
11 Private,
12}
13
14/// Access controlled content - serialized as {"access":"Public/Private","value":...}
15#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
16pub struct AccessControlled<A> {
17 pub access: Access,
18 pub value: A,
19}