pub struct Role {
pub name: String,
pub permissions: Vec<OperationPermission>,
}Expand description
Predefined roles with their associated permissions
Fields§
§name: StringRole name (e.g., "admin", "viewer")
permissions: Vec<OperationPermission>Set of operations this role is allowed to perform
Implementations§
Source§impl Role
impl Role
Sourcepub const fn new(name: String, permissions: Vec<OperationPermission>) -> Self
pub const fn new(name: String, permissions: Vec<OperationPermission>) -> Self
Create a new role with specified permissions
Sourcepub fn has_permission(&self, permission: OperationPermission) -> bool
pub fn has_permission(&self, permission: OperationPermission) -> bool
Check if role has a specific permission
Sourcepub fn get_permissions(&self) -> &[OperationPermission]
pub fn get_permissions(&self) -> &[OperationPermission]
Get all permissions for this role
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 UnsafeUnpin for Role
impl UnwindSafe for Role
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more