reactive_graph_dynamic_graph_impl/root/
mutation.rs

1use crate::field::namespace_mutation_field;
2use crate::object::namespace::metrics::metrics_field;
3use crate::object::namespace::mutation::namespace_mutation;
4use async_graphql::dynamic::*;
5use itertools::Itertools;
6use reactive_graph_dynamic_graph_api::SchemaBuilderContext;
7
8pub fn get_mutation(mut schema: SchemaBuilder, context: &SchemaBuilderContext) -> SchemaBuilder {
9    let mut mutation = Object::new("Mutation").description("Mutations");
10    mutation = mutation.field(metrics_field(None));
11    for namespace in context.namespace_manager.get_all().iter().sorted() {
12        if let Some(object_namespace) = namespace_mutation(context.clone(), namespace) {
13            mutation = mutation.field(namespace_mutation_field(namespace));
14            schema = schema.register(object_namespace)
15        }
16    }
17    schema.register(mutation)
18}