UNPKG

@shopgate/engage

Version:
8 lines 2.6 kB
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}import{PipelineRequest,EAUTHENTICATION,ENOTFOUND,i18n}from'@shopgate/engage/core';import showModal from'@shopgate/pwa-common/actions/modal/showModal';import{SHOPGATE_ORDER_CANCEL_ORDER}from"../constants";import fetchOrderDetails from"./fetchOrderDetails";import{errorCancelOrder}from"../action-creators/orders";/** * Cancel an order. * @param {Object} params Params * @param {number} [params.orderId] Order Id * @param {string} [params.orderNumber] Order Number * @param {string} [params.token] Request params * @returns {Function} A redux thunk. */var cancelOrder=function cancelOrder(_ref){var orderId=_ref.orderId,orderNumber=_ref.orderNumber,token=_ref.token;return(/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(dispatch){var confirmed;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return dispatch(showModal({title:i18n.text('order_details.cancel.modal.title'),message:i18n.text('order_details.cancel.modal.message'),confirm:i18n.text('order_details.cancel.modal.confirm')}));case 2:confirmed=_context.sent;if(!confirmed){_context.next=16;break;}_context.prev=4;_context.next=7;return new PipelineRequest(SHOPGATE_ORDER_CANCEL_ORDER).setInput({orderId:orderId,orderNumber:orderNumber,token:token}).setErrorBlacklist([EAUTHENTICATION,ENOTFOUND]).dispatch();case 7:_context.next=9;return dispatch(fetchOrderDetails({orderId:orderId,orderNumber:orderNumber,token:token}));case 9:_context.next=16;break;case 11:_context.prev=11;_context.t0=_context["catch"](4);if(![EAUTHENTICATION,ENOTFOUND].includes(_context.t0.code)){_context.next=16;break;}dispatch(errorCancelOrder(_context.t0,{orderId:orderId,orderNumber:orderNumber}));throw _context.t0;case 16:case"end":return _context.stop();}},_callee,null,[[4,11]]);}));return function(_x){return _ref2.apply(this,arguments);};}());};export default cancelOrder;