summaryrefslogtreecommitdiffstats
path: root/frontend/enhancers/enhancers.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-02-09 13:31:39 -0500
committerWes Bos <wesbos@gmail.com>2018-02-09 13:31:39 -0500
commite0d0baa75ec0bf617f91b6cd779305d4009cae12 (patch)
tree00eb968f49c6586cbc4367053887d0c5e68471b2 /frontend/enhancers/enhancers.js
parent19c9683e2126c68cb9d231293162c756d69c51fb (diff)
🆒
Diffstat (limited to 'frontend/enhancers/enhancers.js')
-rw-r--r--frontend/enhancers/enhancers.js32
1 files changed, 31 insertions, 1 deletions
diff --git a/frontend/enhancers/enhancers.js b/frontend/enhancers/enhancers.js
index ff1712f..f7021c3 100644
--- a/frontend/enhancers/enhancers.js
+++ b/frontend/enhancers/enhancers.js
@@ -1,5 +1,12 @@
-import { ALL_ITEMS_QUERY, REMOVE_ITEM_MUTATION, SINGLE_ITEM_QUERY } from '../queries/index';
import { graphql } from 'react-apollo';
+import {
+ REMOVE_FROM_CART_MUTATION,
+ ALL_ITEMS_QUERY,
+ REMOVE_ITEM_MUTATION,
+ SINGLE_ITEM_QUERY,
+ CURRENT_USER_QUERY,
+ ADD_TO_CART_MUTATION,
+} from '../queries/index';
export const itemEnhancer = graphql(ALL_ITEMS_QUERY, {
name: 'itemsQuery',
@@ -35,3 +42,26 @@ export const singleItemEnhancer = graphql(SINGLE_ITEM_QUERY, {
variables: { id },
}),
});
+
+export const removeFromCartEnhancer = graphql(REMOVE_FROM_CART_MUTATION, {
+ name: 'removeFromCart',
+ options: {
+ update: (proxy, payload) => {
+ const data = proxy.readQuery({ query: CURRENT_USER_QUERY });
+ const cartItemId = payload.data.removeFromCart.id;
+ data.me.cart = data.me.cart.filter(item => item.id !== cartItemId);
+ proxy.writeQuery({ query: CURRENT_USER_QUERY, data });
+ },
+ },
+});
+
+export const addtoCartEnhancer = graphql(ADD_TO_CART_MUTATION, {
+ name: 'addToCart',
+ options: {
+ update: (proxy, payload) => {
+ console.log('=----asdf-asd-fas-df-asdf-sa-df');
+ },
+ },
+});
+
+export const userEnhancer = graphql(CURRENT_USER_QUERY, { name: 'currentUser' });