refine module instantiation
This commit is contained in:
parent
2dba0b3ffe
commit
8e0aaab161
@ -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
|
||||||
|
@ -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' })
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user