vector/api/schema/
mod.rs

1pub mod components;
2pub mod events;
3pub mod filter;
4mod health;
5mod meta;
6mod metrics;
7mod relay;
8pub mod sort;
9
10use async_graphql::{EmptyMutation, MergedObject, MergedSubscription, Schema, SchemaBuilder};
11
12#[derive(MergedObject, Default)]
13pub struct Query(
14    health::HealthQuery,
15    components::ComponentsQuery,
16    #[cfg(feature = "sources-host_metrics")] metrics::MetricsQuery,
17    meta::MetaQuery,
18);
19
20#[derive(MergedSubscription, Default)]
21pub struct Subscription(
22    health::HealthSubscription,
23    metrics::MetricsSubscription,
24    components::ComponentsSubscription,
25    events::EventsSubscription,
26);
27
28/// Build a new GraphQL schema, comprised of Query, Mutation and Subscription types
29pub fn build_schema() -> SchemaBuilder<Query, EmptyMutation, Subscription> {
30    Schema::build(Query::default(), EmptyMutation, Subscription::default())
31}