Skip to main content

vantage_api_client/
lib.rs

1//! Vantage adapters for HTTP-based API backends.
2//!
3//! Two protocol adapters live side by side:
4//!
5//! * [`rest`] — generic REST API client. Maps `Table<RestApi, E>` to
6//!   `GET {base_url}/{table_name}` with eq-conditions and pagination
7//!   peeled into the URL query string.
8//! * [`graphql`] — GraphQL API client. Renders typed query documents
9//!   with inline filters + variable-typed pagination, supports both
10//!   Hasura and flat-argument (e.g. SpaceX) dialects, and bridges
11//!   into Vista via a YAML schema map.
12//!
13//! See [`prelude`] for a one-stop import.
14
15pub mod graphql;
16pub mod prelude;
17pub mod rest;
18
19pub use graphql::{
20    AnyGraphqlType, FieldCondition, FilterDialect, GraphqlApi, GraphqlApiBuilder,
21    GraphqlApiTableShell, GraphqlApiVistaFactory, GraphqlApiVistaSpec, GraphqlBlock,
22    GraphqlColumnBlock, GraphqlColumnExtras, GraphqlCondition, GraphqlOp, GraphqlOperation,
23    GraphqlSelect, GraphqlTableExtras, GraphqlType, GraphqlTypeVariants, NoGraphqlExtras,
24    RenderedQuery,
25};
26pub use rest::{
27    ApiColumnExtras, ApiReferenceExtras, ApiTableBlock, ApiTableExtras, FilterStrategy,
28    ModelResolver, NoApiExtras, PaginationParams, ResponseShape, RestApi, RestApiBuilder,
29    RestApiTableShell, RestApiVistaFactory, RestApiVistaSpec, eq_condition,
30};
31pub(crate) use rest::{cbor_to_query_string, condition_to_query_param};