⚠️
This is the documentation for the old GraphQL Mesh version v0. We recommend upgrading to the latest GraphQL Mesh version v1.
Migrate to GraphQL Mesh v1
Migrate to GraphQL Mesh v1
Resolvers Composition Transform (deprecated)
💡
We don’t recommend to use this transform anymore!
The resolversComposition transform allows adding middleware to your existing resolvers.
npm i @graphql-mesh/transform-resolvers-compositionHow to use?
Add the following configuration to your Mesh config file:
.meshrc.yaml
transforms:
- resolversComposition:
mode: bare | wrap
compositions:
- resolver: 'Query.me'
composer: is-auth#isAuth
- resolver: 'Mutation.*'
composer: is-admin#isAdminis-auth.ts
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 schemacompositions(type:Array of Object, required) - Array of resolver/composer to apply:resolver(type:String, required) - The GraphQL Resolver path Example: Query.userscomposer(type:Any, required) - Path to the composer function Example: ./src/auth.js#authComposer