use async_trait::async_trait;
pub type JsonRow = serde_json::Map<String, serde_json::Value>;
#[async_trait]
pub trait GraphQueryExecutor: Send + Sync {
async fn query(&self, database: &str, sql: String) -> anyhow::Result<Vec<JsonRow>>;
}
#[derive(Debug, Clone)]
pub struct StoredGraphConfig {
pub database: String,
pub node_table: String,
pub edge_table: String,
pub id_col: String,
pub label_col: String,
pub src_col: String,
pub dst_col: String,
pub type_col: String,
pub realm_col: Option<String>,
}