Files
TKT20009-Course-Project-I/frontend/lib/apollo/server.ts
T
2026-06-24 15:34:09 +02:00

18 lines
692 B
TypeScript

'use server'
import { SESSION_COOKIE_NAME } from '@/constants'
import { HttpLink } from '@apollo/client'
import { ApolloClient, InMemoryCache, registerApolloClient } from '@apollo/client-integration-nextjs'
// This is the server-side client
export const createApolloClient = async (cookie?: string) => registerApolloClient(() => {
return new ApolloClient({
link: new HttpLink({
uri: process.env.NODE_ENV == 'production' ? 'https://wreckit-backend.elliot-at-zuri.ch/graphql' : process.env.NEXT_PUBLIC_BACKEND_URI,
credentials: 'include',
headers: {
cookie: cookie ? `${SESSION_COOKIE_NAME}=${cookie}` : ''
}
}),
cache: new InMemoryCache()
})
})