mobilizon/js/src/apollo/user.ts

33 lines
698 B
TypeScript
Raw Normal View History

2019-08-12 14:04:16 +00:00
import { ApolloCache } from 'apollo-cache';
import { NormalizedCacheObject } from 'apollo-cache-inmemory';
export function buildCurrentUserResolver(cache: ApolloCache<NormalizedCacheObject>) {
cache.writeData({
data: {
currentUser: {
__typename: 'CurrentUser',
id: null,
email: null,
isLoggedIn: false,
},
2019-01-18 13:47:10 +00:00
},
2019-08-12 14:04:16 +00:00
});
2019-01-18 13:47:10 +00:00
2019-08-12 14:04:16 +00:00
return {
updateCurrentUser: (_, { id, email, isLoggedIn }, { cache }) => {
const data = {
Mutation: {
2019-01-18 13:47:10 +00:00
currentUser: {
id,
email,
isLoggedIn,
2019-01-18 13:47:10 +00:00
__typename: 'CurrentUser',
},
2019-08-12 14:04:16 +00:00
},
};
2019-01-18 13:47:10 +00:00
2019-08-12 14:04:16 +00:00
cache.writeData({ data });
2019-01-18 13:47:10 +00:00
},
2019-08-12 14:04:16 +00:00
};
2019-01-18 13:47:10 +00:00
};