1 2 3 4 5 6 7 8 9 10 11 12
// Copyright (c) 2026 erik <erik@erik.xyz> — https://erik.xyz use async_trait::async_trait; use ecat_errors::Error; #[async_trait] pub trait GraphClient: Send + Sync { async fn execute( &self, query: &str, params: &serde_json::Value, ) -> Result<serde_json::Value, Error>; }