From 9264f22bfda0545fedebbf104a2b8345a7afddef Mon Sep 17 00:00:00 2001 From: Sandipsinh Dilipsinh Rathod <62684960+ssddOnTop@users.noreply.github.com> Date: Thu, 27 Jun 2024 17:54:46 +0530 Subject: [PATCH] fix: drop `to_sdl` from `ConfigModule` (#2296) --- src/core/config/config.rs | 5 +++-- src/core/config/config_module.rs | 5 ----- src/core/config/into_document.rs | 14 ++++++++------ 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/core/config/config.rs b/src/core/config/config.rs index f4dd5b8b98..62634dab94 100644 --- a/src/core/config/config.rs +++ b/src/core/config/config.rs @@ -8,7 +8,7 @@ use serde::{Deserialize, Serialize}; use serde_json::Value; use super::telemetry::Telemetry; -use super::{ConfigModule, KeyValue, Link, Server, Upstream}; +use super::{KeyValue, Link, Server, Upstream}; use crate::core::config::from_document::from_document; use crate::core::config::source::Source; use crate::core::directive::DirectiveCodec; @@ -694,8 +694,9 @@ impl Config { } } + /// Renders current config to graphQL string pub fn to_sdl(&self) -> String { - ConfigModule::from(self.clone()).to_sdl() + crate::core::document::print(self.into()) } pub fn query(mut self, query: &str) -> Self { diff --git a/src/core/config/config_module.rs b/src/core/config/config_module.rs index 19e50c3232..02798c7f21 100644 --- a/src/core/config/config_module.rs +++ b/src/core/config/config_module.rs @@ -51,11 +51,6 @@ impl ConfigModule { } } - /// Renders current config to graphQL string - pub fn to_sdl(&self) -> String { - crate::core::document::print(self.into()) - } - /// Normalizes current config with default preset pub fn normalize_default(self) -> Valid { // TODO: migrate to preset. That will change many snapshots in repo diff --git a/src/core/config/into_document.rs b/src/core/config/into_document.rs index f42fa694c9..2e9f1a8848 100644 --- a/src/core/config/into_document.rs +++ b/src/core/config/into_document.rs @@ -2,7 +2,7 @@ use async_graphql::parser::types::*; use async_graphql::{Pos, Positioned}; use async_graphql_value::{ConstValue, Name}; -use super::ConfigModule; +use super::Config; use crate::core::blueprint::TypeLike; use crate::core::directive::DirectiveCodec; @@ -14,7 +14,7 @@ fn transform_default_value(value: Option) -> Option ServiceDocument { +fn config_document(config: &Config) -> ServiceDocument { let mut definitions = Vec::new(); let mut directives = vec![ pos(config.server.to_directive()), @@ -58,8 +58,10 @@ fn config_document(config: &ConfigModule) -> ServiceDocument { .map(|name| pos(Name::new(name))), }; definitions.push(TypeSystemDefinition::Schema(pos(schema_definition))); + let interface_types = config.interface_types(); + let input_types = config.input_types(); for (type_name, type_def) in config.types.iter() { - let kind = if config.interface_types().contains(type_name) { + let kind = if interface_types.contains(type_name) { TypeKind::Interface(InterfaceType { implements: type_def .implements @@ -91,7 +93,7 @@ fn config_document(config: &ConfigModule) -> ServiceDocument { }) .collect::>>(), }) - } else if config.input_types().contains(type_name) { + } else if input_types.contains(type_name) { TypeKind::InputObject(InputObjectType { fields: type_def .fields @@ -279,8 +281,8 @@ fn get_directives(field: &crate::core::config::Field) -> Vec for ServiceDocument { - fn from(value: &ConfigModule) -> Self { +impl From<&Config> for ServiceDocument { + fn from(value: &Config) -> Self { config_document(value) } }