The Guild LogoThe Guild Monogram

Search docs

Search icon

Products by The Guild

Products

Hive logoHive blurred logo

Hive

Schema Registry for your GraphQL Workflows

Skip to main content

Resolvers Composition Transform

The resolversComposition transform allow you add middleware to your existing resolvers.

yarn add @graphql-mesh/transform-resolvers-composition

How to use?#

Add the following configuration to your Mesh config file:

transforms:
- resolversComposition:
mode: bare | wrap
compositions:
- resolver: 'Query.me'
composer: is-auth#isAuth
- resolver: 'Mutation.*'
composer: is-admin#isAdmin
module.exports = {
isAuth: next => (root, args, context, info) => {
// Check if Authorization header is present
if(!context.headers.authorization) {
throw new Error('Unauthorized');
}
return next(root, args, context, info);
}
};

For information about "bare" and "wrap" modes, please read the dedicated section.

Config API Reference#

  • mode (type: String (bare | wrap)) - Specify to apply resolvers-composition transforms to bare schema or by wrapping original schema
  • compositions (type: Array of Object, required) - Array of resolver/composer to apply:
    • resolver (type: String, required) - The GraphQL Resolver path Example: Query.users
    • composer (type: Any, required) - Path to the composer function Example: ./src/auth.js#authComposer