From 0d0476d594da77ea4501a1b6d16e98074030a5ed Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 13 Jan 2022 11:32:25 +0100 Subject: [PATCH] chore: need to inherit the resolvers from the interfaces for niceness Signed-off-by: blam --- plugins/graphql-backend/package.json | 1 + plugins/graphql-backend/src/service/router.ts | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/graphql-backend/package.json b/plugins/graphql-backend/package.json index f63cccd5d2..b341a6602c 100644 --- a/plugins/graphql-backend/package.json +++ b/plugins/graphql-backend/package.json @@ -34,6 +34,7 @@ "@backstage/backend-common": "^0.10.0", "@backstage/config": "^0.1.8", "@backstage/plugin-catalog-graphql": "^0.2.14", + "@graphql-tools/schema": "^8.3.1", "graphql-modules": "^1.0.0", "@types/express": "^4.17.6", "apollo-server": "^3.0.0", diff --git a/plugins/graphql-backend/src/service/router.ts b/plugins/graphql-backend/src/service/router.ts index 581a007360..22d284eb27 100644 --- a/plugins/graphql-backend/src/service/router.ts +++ b/plugins/graphql-backend/src/service/router.ts @@ -23,6 +23,7 @@ import { ApolloServer } from 'apollo-server-express'; import { createModule as createCatalogModule } from '@backstage/plugin-catalog-graphql'; import { Config } from '@backstage/config'; import helmet from 'helmet'; +import { makeExecutableSchema } from '@graphql-tools/schema'; export interface RouterOptions { logger: Logger; @@ -36,6 +37,12 @@ export async function createRouter( const { createSchemaForApollo } = createApplication({ modules: [catalogModule], + schemaBuilder(input) { + return makeExecutableSchema({ + ...input, + inheritResolversFromInterfaces: true, + }); + }, }); const server = new ApolloServer({ @@ -45,6 +52,7 @@ export async function createRouter( }); await server.start(); + const router = Router(); router.get('/health', (_, response) => { @@ -63,7 +71,6 @@ export async function createRouter( ); router.use(apolloMiddleware); - router.use(errorHandler()); return router;