import { makeExecutableSchema } from '@graphql-tools/schema'
import { mergeResolvers } from '@graphql-tools/merge'
import { typeDefs } from './typeDefs'
import { resolvers } from './resolvers'
import { subscriptionResolvers } from './subscriptions'

export const schema = makeExecutableSchema({
  typeDefs,
  resolvers: mergeResolvers([resolvers, subscriptionResolvers]),
  // Several catalog/template/deployment resolvers were nested under Mutation but
  // declared on Query in SDL; ignoring strict match unblocks the API until refactored.
  resolverValidationOptions: {
    requireResolversToMatchSchema: 'ignore',
  },
})

