use async_graphql_axum::{GraphQLRequest, GraphQLResponse}; use axum::{ extract::Extension, http::{StatusCode}, response::{Html, IntoResponse}, }; use async_graphql::{ http::{playground_source, GraphQLPlaygroundConfig}, }; use axum_sessions::{ extractors::{ReadableSession}, }; use graphql::CibusSchema; pub mod graphql; pub async fn graphql_handler( schema: Extension, _session: ReadableSession, req: GraphQLRequest, ) -> Result { let req = req.into_inner(); Ok(schema.execute(req).await.into()) } pub async fn graphql_playground() -> impl IntoResponse { Html(playground_source(GraphQLPlaygroundConfig::new("/"))) }