use std::collections::BTreeMap;
use async_graphql::dynamic::ResolverContext;
#[derive(Default)]
pub struct GuardsConfig {
pub entity_guards: BTreeMap<String, FnGuard>,
pub field_guards: BTreeMap<String, FnGuard>,
}
pub type FnGuard = Box<dyn Fn(&ResolverContext) -> GuardAction + Sync + Send>;
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum GuardAction {
Block(Option<String>),
Allow,
}