|
|
|
@ -1,13 +1,33 @@
|
|
|
|
|
import { NgModule } from '@angular/core';
|
|
|
|
|
import { APOLLO_OPTIONS } from 'apollo-angular';
|
|
|
|
|
import {ApolloClientOptions, ApolloLink, InMemoryCache} from '@apollo/client/core';
|
|
|
|
|
import {
|
|
|
|
|
ApolloClientOptions,
|
|
|
|
|
ApolloLink,
|
|
|
|
|
concat,
|
|
|
|
|
InMemoryCache,
|
|
|
|
|
} from '@apollo/client/core';
|
|
|
|
|
import { HttpLink } from 'apollo-angular/http';
|
|
|
|
|
import { environment } from '../environments/environment';
|
|
|
|
|
|
|
|
|
|
const uri = environment.apiUrl + '/graphql'; // <-- add the URL of the GraphQL server here
|
|
|
|
|
|
|
|
|
|
const cleanTypeName = new ApolloLink((operation, forward) => {
|
|
|
|
|
if (operation.variables) {
|
|
|
|
|
const omitTypename = (key: string, value: any) =>
|
|
|
|
|
key === '__typename' ? undefined : value;
|
|
|
|
|
operation.variables = JSON.parse(
|
|
|
|
|
JSON.stringify(operation.variables),
|
|
|
|
|
omitTypename
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
return forward(operation).map((data) => {
|
|
|
|
|
return data;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export function createApollo(httpLink: HttpLink): ApolloClientOptions<any> {
|
|
|
|
|
return {
|
|
|
|
|
link: httpLink.create({uri}),
|
|
|
|
|
link: concat(cleanTypeName, httpLink.create({ uri })),
|
|
|
|
|
cache: new InMemoryCache({}),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
@ -21,5 +41,4 @@ export function createApollo(httpLink: HttpLink): ApolloClientOptions<any> {
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
})
|
|
|
|
|
export class GraphQLModule {
|
|
|
|
|
}
|
|
|
|
|
export class GraphQLModule {}
|
|
|
|
|