casbinTrait Adapter
Source pub trait Adapter: Send + Sync {
// Required methods
fn load_policy<'life0, 'life1, 'async_trait>(
&'life0 mut self,
m: &'life1 mut dyn Model,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_filtered_policy<'a, 'life0, 'life1, 'async_trait>(
&'life0 mut self,
m: &'life1 mut dyn Model,
f: Filter<'a>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn save_policy<'life0, 'life1, 'async_trait>(
&'life0 mut self,
m: &'life1 mut dyn Model,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn clear_policy<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn is_filtered(&self) -> bool;
fn add_policy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rule: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn add_policies<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rules: Vec<Vec<String>>,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn remove_policy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rule: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn remove_policies<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rules: Vec<Vec<String>>,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn remove_filtered_policy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
field_index: usize,
field_values: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}