23 lines
634 B
TypeScript

import { env as environment } from '../config/env';
import { getToken } from '../config/token';
import { ApolloClient, InMemoryCache } from '@apollo/client/core';
type Parameters_ = { token: null | string | undefined };
export function createApolloClient(parameters?: Parameters_) {
return new ApolloClient({
cache: new InMemoryCache(),
headers: parameters?.token
? {
Authorization: `Bearer ${parameters.token}`,
}
: undefined,
uri: environment.URL_GRAPHQL,
});
}
export async function getClientWithToken() {
const token = await getToken();
return createApolloClient({ token });
}