pub trait Storage: Send + Sync {
// Required methods
fn store_role(&mut self, role: Role) -> Result<()>;
fn get_role(&self, name: &str) -> Result<Option<Role>>;
fn role_exists(&self, name: &str) -> Result<bool>;
fn delete_role(&mut self, name: &str) -> Result<bool>;
fn list_roles(&self) -> Result<Vec<String>>;
fn update_role(&mut self, role: Role) -> Result<()>;
// Provided method
fn role_count(&self) -> usize { ... }
}Expand description
Trait for storing and retrieving role system data.
Required Methods§
Sourcefn store_role(&mut self, role: Role) -> Result<()>
fn store_role(&mut self, role: Role) -> Result<()>
Store a role.
Sourcefn role_exists(&self, name: &str) -> Result<bool>
fn role_exists(&self, name: &str) -> Result<bool>
Check if a role exists.
Sourcefn delete_role(&mut self, name: &str) -> Result<bool>
fn delete_role(&mut self, name: &str) -> Result<bool>
Delete a role.
Sourcefn list_roles(&self) -> Result<Vec<String>>
fn list_roles(&self) -> Result<Vec<String>>
List all role names.
Sourcefn update_role(&mut self, role: Role) -> Result<()>
fn update_role(&mut self, role: Role) -> Result<()>
Update an existing role.
Provided Methods§
Sourcefn role_count(&self) -> usize
fn role_count(&self) -> usize
Get the number of stored roles.