diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-02-09 13:31:39 -0500 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-02-09 13:31:39 -0500 |
| commit | e0d0baa75ec0bf617f91b6cd779305d4009cae12 (patch) | |
| tree | 00eb968f49c6586cbc4367053887d0c5e68471b2 /frontend/enhancers/enhancers.js | |
| parent | 19c9683e2126c68cb9d231293162c756d69c51fb (diff) | |
🆒
Diffstat (limited to 'frontend/enhancers/enhancers.js')
| -rw-r--r-- | frontend/enhancers/enhancers.js | 32 |
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' }); |
