import { ApolloServer } from 'apollo-server-micro' import resolvers from '../../api/resolvers' import models from '../../api/models' import lnd from '../../api/lnd' import typeDefs from '../../api/typeDefs' import { getSession } from 'next-auth/client' global.apolloServer ||= new ApolloServer({ typeDefs, resolvers, tracing: true, context: async ({ req }) => { const session = await getSession({ req }) return { models, lnd, me: session ? session.user : null } } }) export const config = { api: { bodyParser: false } } export default global.apolloServer.createHandler({ path: '/api/graphql' })