sui_gql_client/queries/
max_page_size.rs1use 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}