casbin/adapter/
null_adapter.rs1use 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}