Trait Storage

Source
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§

Source

fn store_role(&mut self, role: Role) -> Result<()>

Store a role.

Source

fn get_role(&self, name: &str) -> Result<Option<Role>>

Get a role by name.

Source

fn role_exists(&self, name: &str) -> Result<bool>

Check if a role exists.

Source

fn delete_role(&mut self, name: &str) -> Result<bool>

Delete a role.

Source

fn list_roles(&self) -> Result<Vec<String>>

List all role names.

Source

fn update_role(&mut self, role: Role) -> Result<()>

Update an existing role.

Provided Methods§

Source

fn role_count(&self) -> usize

Get the number of stored roles.

Implementors§