async_graphql/dynamic/
request.rs

1use crate::{dynamic::FieldValue, Request};
2
3/// GraphQL request for dynamic schema.
4pub struct DynamicRequest {
5    pub(crate) inner: Request,
6    pub(crate) root_value: FieldValue<'static>,
7}
8
9/// A trait for [`DynamicRequest`]
10pub trait DynamicRequestExt {
11    /// Specify the root value for the request
12    fn root_value(self, value: FieldValue<'static>) -> DynamicRequest;
13}
14
15impl<T: Into<Request>> DynamicRequestExt for T {
16    fn root_value(self, value: FieldValue<'static>) -> DynamicRequest {
17        DynamicRequest {
18            inner: self.into(),
19            root_value: value,
20        }
21    }
22}
23
24impl<T: Into<Request>> From<T> for DynamicRequest {
25    fn from(req: T) -> Self {
26        Self {
27            inner: req.into(),
28            root_value: FieldValue::NULL,
29        }
30    }
31}