pub use actionable_macros::Dispatcher;
use async_trait::async_trait;
use crate::Permissions;
#[async_trait]
pub trait Dispatcher<T>: Send + Sync {
type Result: Send + Sync;
async fn dispatch(&self, permissions: &Permissions, request: T) -> Self::Result;
}