diff options
Diffstat (limited to 'lockchain-core/src/users/rights.rs')
-rw-r--r-- | lockchain-core/src/users/rights.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lockchain-core/src/users/rights.rs b/lockchain-core/src/users/rights.rs new file mode 100644 index 0000000..4404253 --- /dev/null +++ b/lockchain-core/src/users/rights.rs @@ -0,0 +1,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 {} |