Skip to main content

mongo_graphql/
executor.rs

1use async_graphql::dynamic::Schema;
2use async_graphql::{Request, Variables};
3
4use crate::error::GraphQLError;
5
6/// Execute a GraphQL query against the built schema and return the JSON result.
7pub async fn execute(
8    schema: &Schema,
9    query: &str,
10    variables: Variables,
11) -> Result<serde_json::Value, GraphQLError> {
12    let request = Request::new(query).variables(variables);
13    let response = schema.execute(request).await;
14    serde_json::to_value(response)
15        .map_err(|e| GraphQLError::Internal(format!("Serialization error: {}", e)))
16}