use async_graphql::{EmptySubscription, Schema}; use axum::{routing::get, Extension, Router}; use como_gql::{ graphql::{MutationRoot, QueryRoot}, graphql_handler, graphql_playground, }; use como_infrastructure::register::ServiceRegister; pub struct GraphQLController; impl GraphQLController { pub fn new_router(service_register: ServiceRegister) -> Router { let schema = Schema::build(QueryRoot, MutationRoot, EmptySubscription) .data(service_register) .finish(); Router::new() .route("/", get(graphql_playground).post(graphql_handler)) .layer(Extension(schema)) } }