refine module instantiation

This commit is contained in:
keyan 2022-04-27 17:06:42 -05:00
parent 2dba0b3ffe
commit 8e0aaab161
2 changed files with 18 additions and 14 deletions

View File

@ -1,16 +1,20 @@
import { PrismaClient } from '@prisma/client' import { PrismaClient } from '@prisma/client'
if (!global.prisma) { const prisma = global.prisma || (() => {
global.prisma = new PrismaClient({ console.log('initing prisma')
const prisma = new PrismaClient({
log: [{ level: 'query', emit: 'event' }, 'warn', 'error'] log: [{ level: 'query', emit: 'event' }, 'warn', 'error']
}) })
global.prisma.$on('query', (e) => { prisma.$on('query', (e) => {
if (e.duration > 50) { if (e.duration > 50) {
console.log('Query: ' + e.query) console.log('Query: ' + e.query)
console.log('Params: ' + e.params) console.log('Params: ' + e.params)
console.log('Duration: ' + e.duration + 'ms') console.log('Duration: ' + e.duration + 'ms')
} }
}) })
} return prisma
})()
export default global.prisma if (process.env.NODE_ENV === 'development') global.prisma = prisma
export default prisma

View File

@ -6,10 +6,16 @@ import typeDefs from '../../api/typeDefs'
import { getSession } from 'next-auth/client' import { getSession } from 'next-auth/client'
import search from '../../api/search' import search from '../../api/search'
global.apolloServer ||= new ApolloServer({ const plugin = {
serverWillStart (ctx) {
console.log('gql server starting up')
}
}
const apolloServer = new ApolloServer({
typeDefs, typeDefs,
resolvers, resolvers,
tracing: true, plugins: [plugin],
context: async ({ req }) => { context: async ({ req }) => {
const session = await getSession({ req }) const session = await getSession({ req })
return { return {
@ -23,10 +29,4 @@ global.apolloServer ||= new ApolloServer({
} }
}) })
export const config = { module.exports = apolloServer.start().then(() => apolloServer.createHandler({ path: '/api/graphql' }))
api: {
bodyParser: false
}
}
export default global.apolloServer.createHandler({ path: '/api/graphql' })