Storage

Trait Storage 

Source
pub trait Storage: Send + Sync {
    // Required methods
    fn store_role(&mut self, role: Role) -> Result<(), Error>;
    fn get_role(&self, name: &str) -> Result<Option<Role>, Error>;
    fn role_exists(&self, name: &str) -> Result<bool, Error>;
    fn delete_role(&mut self, name: &str) -> Result<bool, Error>;
    fn list_roles(&self) -> Result<Vec<String>, Error>;
    fn update_role(&mut self, role: Role) -> Result<(), Error>;

    // 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<(), Error>

Store a role.

Source

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

Get a role by name.

Source

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

Check if a role exists.

Source

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

Delete a role.

Source

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

List all role names.

Source

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

Update an existing role.

Provided Methods§

Source

fn role_count(&self) -> usize

Get the number of stored roles.

Implementors§