casbin/adapter/
null_adapter.rs

1use crate::{
2    adapter::{Adapter, Filter},
3    model::Model,
4    Result,
5};
6
7use async_trait::async_trait;
8
9pub struct NullAdapter;
10
11#[async_trait]
12impl Adapter for NullAdapter {
13    async fn load_policy(&mut self, _m: &mut dyn Model) -> Result<()> {
14        Ok(())
15    }
16
17    async fn load_filtered_policy<'a>(
18        &mut self,
19        _m: &mut dyn Model,
20        _f: Filter<'a>,
21    ) -> Result<()> {
22        Ok(())
23    }
24
25    async fn save_policy(&mut self, _m: &mut dyn Model) -> Result<()> {
26        Ok(())
27    }
28
29    async fn clear_policy(&mut self) -> Result<()> {
30        Ok(())
31    }
32
33    async fn add_policy(
34        &mut self,
35        _sec: &str,
36        _ptype: &str,
37        _rule: Vec<String>,
38    ) -> Result<bool> {
39        Ok(true)
40    }
41
42    async fn add_policies(
43        &mut self,
44        _sec: &str,
45        _ptype: &str,
46        _rules: Vec<Vec<String>>,
47    ) -> Result<bool> {
48        Ok(true)
49    }
50
51    async fn remove_policies(
52        &mut self,
53        _sec: &str,
54        _ptype: &str,
55        _rules: Vec<Vec<String>>,
56    ) -> Result<bool> {
57        Ok(true)
58    }
59
60    async fn remove_policy(
61        &mut self,
62        _sec: &str,
63        _ptype: &str,
64        _rule: Vec<String>,
65    ) -> Result<bool> {
66        Ok(true)
67    }
68
69    async fn remove_filtered_policy(
70        &mut self,
71        _sec: &str,
72        _ptype: &str,
73        _field_index: usize,
74        _field_values: Vec<String>,
75    ) -> Result<bool> {
76        Ok(true)
77    }
78
79    fn is_filtered(&self) -> bool {
80        false
81    }
82}