pub struct Role {
pub name: String,
pub description: String,
pub permissions: HashSet<Permission>,
pub is_superuser: bool,
}Expand description
A role with a set of permissions.
Fields§
§name: StringRole name.
description: StringRole description.
permissions: HashSet<Permission>Granted permissions.
is_superuser: boolWhether this role has all permissions.
Implementations§
Source§impl Role
impl Role
Sourcepub fn with_permission(self, permission: Permission) -> Self
pub fn with_permission(self, permission: Permission) -> Self
Add a permission.
Sourcepub fn with_permissions<I>(self, permissions: I) -> Selfwhere
I: IntoIterator<Item = Permission>,
pub fn with_permissions<I>(self, permissions: I) -> Selfwhere
I: IntoIterator<Item = Permission>,
Add multiple permissions.
Sourcepub fn with_superuser(self, is_superuser: bool) -> Self
pub fn with_superuser(self, is_superuser: bool) -> Self
Mark as superuser (has all permissions).
Sourcepub fn has_permission(&self, permission: Permission) -> bool
pub fn has_permission(&self, permission: Permission) -> bool
Check if role has a permission.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Role
impl RefUnwindSafe for Role
impl Send for Role
impl Sync for Role
impl Unpin for Role
impl UnwindSafe for Role
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.