Skip to main content

vantage_api_client/
graphql.rs

1//! GraphQL adapter for Vantage.
2//!
3//! Talks to a GraphQL endpoint over HTTP. Unlike the REST sibling, this
4//! adapter has its own query language (rendered via [`GraphqlSelect`]),
5//! structured filter conditions ([`GraphqlCondition`]), mandatory field
6//! projection, and nested selection sets for relationships — closer in
7//! shape to the MongoDB or SQL backends than to REST.
8//!
9//! Schemas are maintained locally (no introspection); type information
10//! flows through the [`GraphqlType`] system declared in [`types`]. The
11//! [`vista`] module bridges tables and YAML specs into Vista.
12
13mod api;
14mod condition;
15pub(crate) mod impls;
16pub(crate) mod name;
17mod operation;
18mod select;
19pub mod types;
20pub mod vista;
21
22pub use api::{CountMode, GraphqlApi, GraphqlApiBuilder, Supports};
23pub use condition::{FieldCondition, FilterDialect, GraphqlCondition, GraphqlOp};
24pub use operation::GraphqlOperation;
25pub use select::{GraphqlSelect, RenderedQuery};
26pub use types::{AnyGraphqlType, GraphqlType, GraphqlTypeVariants};
27pub use vista::{
28    GraphqlApiTableShell, GraphqlApiVistaFactory, GraphqlApiVistaSpec, GraphqlBlock,
29    GraphqlColumnBlock, GraphqlColumnExtras, GraphqlTableExtras,
30};