⚠️
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-composition
How 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#isAdmin
is-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