sui_gql_client/queries/
max_page_size.rs

1use super::Error;
2use crate::{GraphQlClient, GraphQlResponseExt, missing_data, schema};
3
4pub(super) async fn query<C: GraphQlClient>(client: &C) -> Result<i32, Error<C::Error>> {
5    let max_page_size = client
6        .query::<Limits, _>(())
7        .await
8        .map_err(Error::Client)?
9        .try_into_data()?
10        .ok_or(missing_data!("No data in response"))?
11        .service_config
12        .max_page_size;
13    Ok(max_page_size)
14}
15
16#[derive(cynic::QueryFragment, Debug)]
17#[cynic(graphql_type = "Query")]
18struct Limits {
19    service_config: ServiceConfig,
20}
21
22#[derive(cynic::QueryFragment, Debug)]
23struct ServiceConfig {
24    max_page_size: i32,
25}
26
27#[cfg(test)]
28#[test]
29fn query_string() {
30    use cynic::QueryBuilder as _;
31    use insta::assert_snapshot;
32    let op = Limits::build(());
33    assert_snapshot!(op.query, @r###"
34    query Limits {
35      serviceConfig {
36        maxPageSize
37      }
38    }
39    "###);
40}