sz_rust_orm_facade/data_scope/modes/
all.rs1use super::ModeEvaluator;
4use crate::data_scope::context::DataScopeContext;
5use crate::data_scope::error::DataScopeError;
6use crate::data_scope::rule::DataScopeRule;
7use crate::repository::WhereCondition;
8use async_trait::async_trait;
9
10pub struct AllMode;
12
13#[async_trait]
14impl ModeEvaluator for AllMode {
15 async fn evaluate(
16 &self,
17 _ctx: &DataScopeContext,
18 _rule: &DataScopeRule,
19 ) -> Result<Vec<WhereCondition>, DataScopeError> {
20 Ok(Vec::new())
21 }
22}
23
24#[cfg(test)]
25mod tests {
26 use super::*;
27
28 #[tokio::test]
29 async fn test_all_mode_returns_empty() {
30 let mode = AllMode;
31 let ctx = DataScopeContext::new(1, 5, false);
32 let rule = DataScopeRule::new("order", crate::data_scope::rule::DataScopeMode::All);
33 let conditions = mode.evaluate(&ctx, &rule).await.unwrap();
34 assert!(conditions.is_empty());
35 }
36}