aqlgen - IN ARCHIVED
A schema generator for async-graphql 4.x
In order to install, just run the following command
cargo install aqlgenGenerate async-graphql 4.x schema in 4 easy steps
- Create a new empty rust module
//! main.rs
mod schema;
...- Put your schema to any folder
# example schema
type Book {
    id: ID!
    name: String!
    author: String!
}
input InputBook {
    name: String!
    author: String!
}
type QueryRoot {
    books: [Book!]
}
type MutationRoot {
    createBook(book: InputBook!): Book
}- Run aqlgen
# in project/src
cargo aqlgen --schema schema.graphql --output schema- Enjoy your generation
//! book.rs
use async_graphql::*;
#[derive(Debug)]
pub struct Book;
#[Object]
impl Book {
    pub async fn id(&self, ctx: &Context<'_>) -> ID {
        todo!()
    }
    
    pub async fn name(&self, ctx: &Context<'_>) -> String {
        todo!()
    }
    
    pub async fn author(&self, ctx: &Context<'_>) -> String {
        todo!()
    }
}//! input_book.rs
use async_graphql::*;
#[derive(InputObject, Debug)]
pub struct InputBook {
    pub name: String,
    pub author: String,
}//! query_root.rs
use super::super::Book;
use async_graphql::*;
#[derive(Debug)]
pub struct QueryRoot;
#[Object]
impl QueryRoot {
    pub async fn books(&self, ctx: &Context<'_>) -> Option<Vec<Book>> {
        todo!()
    }
}//! mutation_root.rs
use super::super::{Book, InputBook};
use async_graphql::*;
#[derive(Debug)]
pub struct MutationRoot;
#[Object]
impl MutationRoot {
    pub async fn create_book(&self, ctx: &Context<'_>, book: InputBook) -> Option<Book> {
        todo!()
    }
}