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