2020-05-03
|~1 min read
|149 words
In GraphQL if your queries are the same going from the client to the GraphQL server and the GraphQL server to the backend (e.g., React -> GraphQL Yoga and then GraphQL Yoga -> Prisma), instead of writing a custom resolver duplicating the logic, it’s possible to simply forward the request.
For example:
const Query = {
async items(parent, args, ctx, info) {
const items = await ctx.db.query.items()
return items
},
}
module.exports = Query
Can be converted to:
const { forwardTo } = require("prisma-binding")
const Query = {
items: forwardTo("db"),
}
This is useful if you want to get up and running, testing a live connection to the data layer without customizing the resolvers.
It won’t work if the resolver needs some additional business logic, e.g., authentication.
Until then, however, this provides a nice way to expose the functionality provided by the data layer, quickly.
Hi there and thanks for reading! My name's Stephen. I live in Chicago with my wife, Kate, and dog, Finn. Want more? See about and get in touch!