Skip to main content

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}