[][src]Struct async_graphql::Schema

pub struct Schema<Query, Mutation, Subscription>(_);

GraphQL schema

Implementations

impl<Query, Mutation, Subscription> Schema<Query, Mutation, Subscription> where
    Query: ObjectType + Send + Sync + 'static,
    Mutation: ObjectType + Send + Sync + 'static,
    Subscription: SubscriptionType + Send + Sync + 'static, 
[src]

pub fn build(
    query: Query,
    mutation: Mutation,
    subscription: Subscription
) -> SchemaBuilder<Query, Mutation, Subscription>
[src]

Create a schema builder

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 new(
    query: Query,
    mutation: Mutation,
    subscription: Subscription
) -> Schema<Query, Mutation, Subscription>
[src]

Create a schema

pub async fn execute<'_, '_>(
    &'_ self,
    query_source: &'_ str
) -> Result<QueryResponse>
[src]

Execute query without create the QueryBuilder.

pub async fn execute_stream<'_, '_>(
    &'_ self,
    query_source: &'_ str
) -> StreamResponse
[src]

Execute the query without create the QueryBuilder, returns a stream, the first result being the query result, followed by the incremental result. Only when there are @defer and @stream directives in the query will there be subsequent incremental results.

pub async fn create_subscription_stream<'_, '_, '_>(
    &'_ self,
    source: &'_ str,
    operation_name: Option<&'_ str>,
    variables: Variables,
    ctx_data: Option<Arc<Data>>
) -> Result<impl Stream<Item = Result<Value>> + Send>
[src]

Create subscription stream, typically called inside the SubscriptionTransport::handle_request method

pub fn subscription_connection<T: SubscriptionTransport>(
    &self,
    transport: T
) -> (UnboundedSender<Bytes>, impl Stream<Item = Bytes> + Unpin)
[src]

Create subscription connection, returns Sink and Stream.

Trait Implementations

impl<Query, Mutation, Subscription> Clone for Schema<Query, Mutation, Subscription>[src]

impl<Query, Mutation, Subscription> Deref for Schema<Query, Mutation, Subscription> where
    Query: ObjectType + Send + Sync + 'static,
    Mutation: ObjectType + Send + Sync + 'static,
    Subscription: SubscriptionType + Send + Sync + 'static, 
[src]

type Target = SchemaInner<Query, Mutation, Subscription>

The resulting type after dereferencing.

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 + Sync,
    Query: Send + Sync,
    Subscription: Send + Sync

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

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

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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>,