pub struct ScopeSet { /* private fields */ }Expand description
A set of scopes that can be checked for permission coverage.
Implementations§
Source§impl ScopeSet
impl ScopeSet
pub fn new(scopes: Vec<Scope>) -> Self
Sourcepub fn permits(&self, requested: &Scope) -> bool
pub fn permits(&self, requested: &Scope) -> bool
Check if the scope set permits the requested scope.
Sourcepub fn is_subset_of(&self, parent: &ScopeSet) -> bool
pub fn is_subset_of(&self, parent: &ScopeSet) -> bool
Check if this scope set is a subset of (narrower than or equal to) another. Used to enforce scope narrowing in delegation chains.
Sourcepub fn to_strings(&self) -> Vec<String>
pub fn to_strings(&self) -> Vec<String>
Get the scopes as strings.
pub fn iter(&self) -> impl Iterator<Item = &Scope>
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ScopeSet
impl<'de> Deserialize<'de> for ScopeSet
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 ScopeSet
impl RefUnwindSafe for ScopeSet
impl Send for ScopeSet
impl Sync for ScopeSet
impl Unpin for ScopeSet
impl UnsafeUnpin for ScopeSet
impl UnwindSafe for ScopeSet
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