Skip to content

Commit

Permalink
tailcallhq#2904-cleanUp: apollo_federation
Browse files Browse the repository at this point in the history
  • Loading branch information
ayusham001 committed Sep 25, 2024
1 parent 6080a0f commit 7a7be31
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 14 deletions.
7 changes: 5 additions & 2 deletions src/core/blueprint/index.rs
Original file line number Diff line number Diff line change
Expand Up @@ -186,9 +186,12 @@ mod test {
use super::Index;
use crate::core::blueprint::Blueprint;
use crate::core::config::ConfigModule;
use crate::include_config;
use crate::core::valid::Valid;
use crate::core::ir::model::IR;
use crate::core::blueprint::operators::federation::compile_service;
use insta::assert_snapshot;
use crate::federation::compile_service;
use crate::include_config;


fn setup() -> Index {
let config = include_config!("./fixture/all-constructs.graphql").unwrap();
Expand Down
24 changes: 12 additions & 12 deletions src/core/blueprint/operators/federation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -80,24 +80,24 @@ pub fn compile_entity_resolver(inputs: CompileEntityResolver<'_>) -> Valid<IR, S
}

pub fn compile_service(config: &ConfigModule) -> Valid<IR, String> {
let mut service_doc = crate::core::document::print(filter_conflicting_directives(
config.config().into(),
));

let additional_schema = crate::core::document::print(filter_conflicting_directives(
Config::graphql_schema(),
));

let federation_v2_extension = r#"
let mut sdl = crate::core::document::print(filter_conflicting_directives(config.config().into()));

let additional_defs = crate::core::document::print(filter_conflicting_directives(Config::graphql_schema()));

let federation_v2_directives = r#"
extend schema @link(
url: "https://specs.apollo.dev/federation/v2.3",
import: ["@key", "@tag", "@shareable", "@inaccessible", "@override", "@external", "@provides", "@requires", "@composeDirective", "@interfaceObject"]
import: [
"@key", "@tag", "@shareable", "@inaccessible",
"@override", "@external", "@provides", "@requires",
"@composeDirective", "@interfaceObject"
]
)
"#;

writeln!(service_doc, "{}\n{}", additional_schema, federation_v2_extension).ok();
writeln!(sdl, "{}{}", additional_defs, federation_v2_directives).ok();

Valid::succeed(IR::Service(service_doc))
Valid::succeed(IR::Service(sdl))
}

fn filter_conflicting_directives(sd: ServiceDocument) -> ServiceDocument {
Expand Down

0 comments on commit 7a7be31

Please sign in to comment.