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