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
28pub fn build_schema() -> SchemaBuilder<Query, EmptyMutation, Subscription> {
30 Schema::build(Query::default(), EmptyMutation, Subscription::default())
31}