[][src]Struct async_graphql::Schema

pub struct Schema<Query, Mutation, Subscription> { /* fields omitted */ }

GraphQL schema

Methods

impl<Query: ObjectType, Mutation: ObjectType, Subscription: SubscriptionType> Schema<Query, Mutation, Subscription>[src]

pub fn new(query: Query, mutation: Mutation, subscription: Subscription) -> Self[src]

Create a schema

The root object for the query and Mutation needs to be specified. If there is no mutation, you can use EmptyMutation. If there is no subscription, you can use EmptySubscription.

pub fn disable_introspection(self) -> Self[src]

Disable introspection query

pub fn limit_complexity(self, complexity: usize) -> Self[src]

Set limit complexity, Default no limit.

pub fn limit_depth(self, depth: usize) -> Self[src]

Set limit complexity, Default no limit.

pub fn extension<F: Fn() -> E + Send + Sync + 'static, E: Extension>(
    self,
    extension_factory: F
) -> Self
[src]

Add an extension

pub fn data<D: Any + Send + Sync>(self, data: D) -> Self[src]

Add a global data that can be accessed in the Context.

pub fn query<'a>(
    &'a self,
    source: &'a str
) -> QueryBuilder<'a, Query, Mutation, Subscription>
[src]

Start a query and return QueryBuilder.

pub fn subscribe<'a>(
    &'a self,
    source: &'a str
) -> SubscribeBuilder<'a, Subscription>
[src]

Start a subscribe and return SubscribeBuilder.

Auto Trait Implementations

impl<Query, Mutation, Subscription> !RefUnwindSafe for Schema<Query, Mutation, Subscription>

impl<Query, Mutation, Subscription> Send for Schema<Query, Mutation, Subscription> where
    Mutation: Send,
    Query: Send,
    Subscription: Send

impl<Query, Mutation, Subscription> Sync for Schema<Query, Mutation, Subscription> where
    Mutation: Sync,
    Query: Sync,
    Subscription: Sync

impl<Query, Mutation, Subscription> Unpin for Schema<Query, Mutation, Subscription> where
    Mutation: Unpin,
    Query: Unpin,
    Subscription: Unpin

impl<Query, Mutation, Subscription> !UnwindSafe for Schema<Query, Mutation, Subscription>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,