Skip to content

Instantly share code, notes, and snippets.

@woss
Created December 13, 2018 10:53
Show Gist options
  • Save woss/24069d327c6f2b25e0a3b89ac8590f54 to your computer and use it in GitHub Desktop.
Save woss/24069d327c6f2b25e0a3b89ac8590f54 to your computer and use it in GitHub Desktop.
Prisma Graphql Connection Resolvers
import {PhotoConnectionResolvers} from '../generated/graphqlgen'
export const PhotoConnection: PhotoConnectionResolvers.Type = {
...PhotoConnectionResolvers.defaultResolvers,
pageInfo: (parent, args, ctx, info) => {
// here args is empty
return ctx.db.photosConnection(args).pageInfo()
},
edges: (parent, args, ctx, info) => {
// here args is empty
return ctx.db.photosConnection(args).edges()
},
aggregate: (parent, args, ctx, info) => {
// here args is empty
return ctx.db.photosConnection(args).aggregate()
},
}
import {PhotoEdgeResolvers} from '../generated/graphqlgen'
export const PhotoEdge: PhotoEdgeResolvers.Type = {
...PhotoEdgeResolvers.defaultResolvers,
node: ({cursor}, args, ctx) => {
return ctx.db.photo({id: cursor})
},
}
import {QueryResolvers} from '../generated/graphqlgen'
export const Query: QueryResolvers.Type = {
...QueryResolvers.defaultResolvers,
timelineShouldWork: async (parent, args, ctx, info) => {
const connection = ctx.db.photosConnection(args)
return {
edges: await connection.edges(),
pageInfo: await connection.pageInfo(),
aggregate: await connection.aggregate(),
}
},
timelineErrorWithSubFields: async (parent, args, ctx, info) => {
return ctx.db.photosConnection(args)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment