aboutsummaryrefslogtreecommitdiff
path: root/lockchain-core/src/users/rights.rs
blob: 4404253db76a6a64e293be8fafff121307a9ffa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use traits::AutoEncoder;

/// Specifies access to a resource
#[derive(Hash, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub enum Access {
    /// Allows access to vault metadata & index files
    Vault(Role),
    /// Allows access to a record resource inside a vault
    Record(Role, String),
}

impl AutoEncoder for Access {}

/// Specifies the capabilities of a user
#[derive(Hash, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub enum Role {
    Reader,
    Editor,
    Admin,
}

impl AutoEncoder for Role {}