2022-04-03 22:12:48 +08:00

22 lines
592 B
Rust

use async_graphql::{EmptySubscription, Schema};
use entity::async_graphql;
use migration::{Migrator, MigratorTrait};
use crate::{
db::Database,
graphql::{mutation::Mutation, query::Query},
};
pub type AppSchema = Schema<Query, Mutation, EmptySubscription>;
/// Builds the GraphQL Schema, attaching the Database to the context
pub async fn build_schema() -> AppSchema {
let db = Database::new().await;
Migrator::up(db.get_connection(), None).await.unwrap();
Schema::build(Query::default(), Mutation::default(), EmptySubscription)
.data(db)
.finish()
}