sz_rust_orm_facade/data_scope/modes/
mod.rs1pub mod all;
6pub mod custom;
7pub mod dept;
8pub mod dept_and_sub;
9pub mod self_mode;
10
11use crate::data_scope::context::DataScopeContext;
12use crate::data_scope::error::DataScopeError;
13use crate::data_scope::rule::DataScopeRule;
14use crate::repository::WhereCondition;
15use async_trait::async_trait;
16
17#[async_trait]
19pub trait ModeEvaluator: Send + Sync {
20 async fn evaluate(
22 &self,
23 ctx: &DataScopeContext,
24 rule: &DataScopeRule,
25 ) -> Result<Vec<WhereCondition>, DataScopeError>;
26}