Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
use serde::{Deserialize,Serialize};
|
||||
use crate::{User,Group,Role};
|
||||
#[derive(Serialize,Deserialize,Clone,Debug)]
|
||||
pub enum StateValue {
|
||||
String(String),
|
||||
Binary(Vec<u8>)
|
||||
}
|
||||
#[derive(Serialize,Deserialize,Debug,Clone)]
|
||||
pub enum StateType {
|
||||
Directory,
|
||||
String,
|
||||
Binary
|
||||
}
|
||||
|
||||
|
||||
#[derive(Serialize,Deserialize,Clone,Hash,Eq,PartialEq,Debug)]
|
||||
pub enum StatePermissionKey {
|
||||
User(User),
|
||||
Group(Group),
|
||||
Role(Group,Role),
|
||||
//This is a string for now but could get compiled later into an actual regex
|
||||
//should be able to match on name and server
|
||||
UserRegex(String)
|
||||
}
|
||||
#[derive(Serialize,Deserialize,Clone,Debug)]
|
||||
pub enum StatePermissionValue {
|
||||
None,
|
||||
Read,
|
||||
ReadWrite,
|
||||
// Can only set value, does not allow appending
|
||||
Write
|
||||
}
|
||||
#[derive(Serialize,Deserialize,Clone,Debug)]
|
||||
pub struct StatePermission(StatePermissionKey,StatePermissionValue);
|
||||
|
||||
#[derive(Serialize,Deserialize,Clone,Debug)]
|
||||
pub struct StatePath(Vec<String>);
|
||||
Reference in New Issue
Block a user