actionOrder.js 1.1 KB

1234567891011121314151617181920212223
  1. import gql from "../api";
  2. import { store} from '../store';
  3. import { actionPromise } from ".";
  4. const actionOrder = () =>
  5. async (dispatch, getState) => {
  6. let {cart} = store.getState()
  7. //магия по созданию структуры вида
  8. //let orderGoods = [{good: {_id}, count}, {good: {_id}, count} .......]
  9. //из структуры вида
  10. //{_id1: {good, count},
  11. //_id2: {good, count}}
  12. const orderGoods = Object.entries(cart).map(([_id, {good, count}]) => ({good: {_id}, count}))
  13. await dispatch(actionPromise('order', gql(`
  14. mutation newOrder($order:OrderInput){
  15. OrderUpsert(order:$order)
  16. { _id total }
  17. }
  18. `, {order: {orderGoods}})))
  19. }
  20. export default actionOrder;