pub struct PermissionRule {
pub permission: McpPermission,
pub roles: Vec<Role>,
pub action: PermissionAction,
pub conditions: Option<HashMap<String, String>>,
}
Expand description
Permission rule that defines access for specific roles
Fields§
§permission: McpPermission
The permission this rule applies to
roles: Vec<Role>
Roles this rule applies to
action: PermissionAction
Action to take (allow or deny)
conditions: Option<HashMap<String, String>>
Optional conditions (for future expansion)
Implementations§
Source§impl PermissionRule
impl PermissionRule
Sourcepub fn allow(permission: McpPermission, roles: Vec<Role>) -> Self
pub fn allow(permission: McpPermission, roles: Vec<Role>) -> Self
Create a new allow rule
Sourcepub fn deny(permission: McpPermission, roles: Vec<Role>) -> Self
pub fn deny(permission: McpPermission, roles: Vec<Role>) -> Self
Create a new deny rule
Sourcepub fn applies_to_role(&self, role: &Role) -> bool
pub fn applies_to_role(&self, role: &Role) -> bool
Check if this rule applies to a given role
Trait Implementations§
Source§impl Clone for PermissionRule
impl Clone for PermissionRule
Source§fn clone(&self) -> PermissionRule
fn clone(&self) -> PermissionRule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PermissionRule
impl Debug for PermissionRule
Source§impl<'de> Deserialize<'de> for PermissionRule
impl<'de> Deserialize<'de> for PermissionRule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PermissionRule
impl RefUnwindSafe for PermissionRule
impl Send for PermissionRule
impl Sync for PermissionRule
impl Unpin for PermissionRule
impl UnwindSafe for PermissionRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more