Files
bodyshop/client/src/graphql/resolvers.js
2019-12-09 21:33:58 -08:00

43 lines
1000 B
JavaScript

import { gql } from "apollo-boost";
import { GET_CURRENT_USER, GET_WHITE_BOARD_LEFT_SIDER_VISIBLE } from "./local.queries";
export const typeDefs = gql`
extend type Mutation {
SetCurrentUser(user: User!): User!
ToggleWhiteBoardLeftSiderVisible: Boolean!
}
extend type User {
email: String!
displayName: String!
token: String!
}
`;
export const resolvers = {
Mutation: {
setCurrentUser: (_root, { user }, { cache }) => {
cache.writeQuery({
query: GET_CURRENT_USER,
data: { currentUser: user }
});
return user;
},
toggleWhiteBoardLeftSiderVisible: (_root, _args, { cache }) => {
const { whiteBoardLeftSiderVisible } = cache.readQuery({
query: GET_WHITE_BOARD_LEFT_SIDER_VISIBLE
});
cache.writeQuery({
query: GET_WHITE_BOARD_LEFT_SIDER_VISIBLE,
data: { whiteBoardLeftSiderVisible: !whiteBoardLeftSiderVisible }
});
return !whiteBoardLeftSiderVisible;
},
}
};