pub struct MemoryStorage { /* private fields */ }
Expand description
In-memory implementation of RbacStorage
Implementations§
Source§impl MemoryStorage
impl MemoryStorage
Trait Implementations§
Source§impl Default for MemoryStorage
impl Default for MemoryStorage
Source§impl RbacStorage for MemoryStorage
impl RbacStorage for MemoryStorage
Source§fn create_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
permission: &'life1 Permission,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
permission: &'life1 Permission,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new permission
Source§fn get_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Permission>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Permission>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a permission by name
Source§fn delete_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a permission
Source§fn create_role<'life0, 'life1, 'async_trait>(
&'life0 self,
role: &'life1 Role,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_role<'life0, 'life1, 'async_trait>(
&'life0 self,
role: &'life1 Role,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new role
Source§fn get_role<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Role>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_role<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Role>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a role by name
Source§fn delete_role<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_role<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a role
Source§fn assign_permission_to_role<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
role_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn assign_permission_to_role<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
role_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Assign a permission to a role
Source§fn remove_permission_from_role<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
role_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove_permission_from_role<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
role_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Remove a permission from a role
Source§fn get_permissions_for_role<'life0, 'life1, 'async_trait>(
&'life0 self,
role_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Permission>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_permissions_for_role<'life0, 'life1, 'async_trait>(
&'life0 self,
role_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Permission>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all permissions for a role
Source§fn assign_role_to_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
role_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn assign_role_to_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
role_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Assign a role to a subject
Source§fn remove_role_from_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
role_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove_role_from_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
role_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Remove a role from a subject
Source§fn get_roles_for_subject<'life0, 'life1, 'async_trait>(
&'life0 self,
subject_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Role>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_roles_for_subject<'life0, 'life1, 'async_trait>(
&'life0 self,
subject_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Role>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all roles for a subject
Source§fn assign_permission_to_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn assign_permission_to_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Assign a permission directly to a subject
Source§fn remove_permission_from_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove_permission_from_subject<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
permission_name: &'life1 str,
subject_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Remove a permission from a subject
Source§fn get_direct_permissions_for_subject<'life0, 'life1, 'async_trait>(
&'life0 self,
subject_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Permission>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_direct_permissions_for_subject<'life0, 'life1, 'async_trait>(
&'life0 self,
subject_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Permission>, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all direct permissions for a subject (not including those from roles)
Source§fn subject_has_permission<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subject_id: &'life1 str,
permission_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn subject_has_permission<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subject_id: &'life1 str,
permission_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, RbacError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Check if a subject has a specific permission (either directly or via roles)
Auto Trait Implementations§
impl Freeze for MemoryStorage
impl RefUnwindSafe for MemoryStorage
impl Send for MemoryStorage
impl Sync for MemoryStorage
impl Unpin for MemoryStorage
impl UnwindSafe for MemoryStorage
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