Skip to content

Commit eea82e2

Browse files
feat: refactor Apollo Server initialization and handler export for improved clarity and performance
1 parent 25c2014 commit eea82e2

File tree

1 file changed

+12
-21
lines changed

1 file changed

+12
-21
lines changed

src/routes/apollo-server.ts

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { startServerAndCreateH3Handler } from '@as-integrations/h3'
77
import { mergeResolvers, mergeTypeDefs } from '@graphql-tools/merge'
88
import { defineEventHandler } from 'h3'
99

10-
// Schema oluşturma fonksiyonu
1110
function createMergedSchema() {
1211
try {
1312
const mergedDefs = defs.map(schema => schema.def).join('\n\n')
@@ -25,27 +24,19 @@ function createMergedSchema() {
2524
}
2625
}
2726

28-
// Apollo Server instance'ını oluştur
2927
const { typeDefs, resolvers: mergedResolvers } = createMergedSchema()
3028

31-
let apolloServer: ApolloServer<BaseContext> | null = null
32-
33-
// H3 handler'ını oluştur ve export et
34-
export default defineEventHandler(async (event) => {
35-
if (!apolloServer) {
36-
apolloServer = new ApolloServer<BaseContext>({
37-
typeDefs,
38-
resolvers: mergedResolvers,
39-
introspection: true,
40-
plugins: [
41-
// Apollo Studio sandbox için landing page
42-
ApolloServerPluginLandingPageLocalDefault({ embed: true }),
43-
],
44-
})
45-
}
46-
47-
const handler = startServerAndCreateH3Handler(apolloServer, {
48-
context: async () => (event),
49-
})
29+
const apolloServer = new ApolloServer<BaseContext>({
30+
typeDefs,
31+
resolvers: mergedResolvers,
32+
introspection: true,
33+
plugins: [
34+
ApolloServerPluginLandingPageLocalDefault({ embed: true }),
35+
],
36+
})
37+
const handler = startServerAndCreateH3Handler(apolloServer, {
38+
context: async event => ({ event }),
39+
})
40+
export default defineEventHandler((event) => {
5041
return handler(event)
5142
})

0 commit comments

Comments
 (0)