UNPKG

@shopgate/engage

Version:
14 lines 2.85 kB
import{PipelineRequest}from'@shopgate/engage/core/classes';import{SHOPGATE_USER_ADD_BACK_IN_STOCK_SUBSCRIPTION,SHOPGATE_USER_DELETE_BACK_IN_STOCK_SUBSCRIPTION,SHOPGATE_USER_GET_BACK_IN_STOCK_SUBSCRIPTIONS,ADD_BACK_IN_STOCK_SUBSCRIPTION,ADD_BACK_IN_STOCK_SUBSCRIPTION_ERROR,ADD_BACK_IN_STOCK_SUBSCRIPTION_SUCCESS,FETCH_BACK_IN_STOCK_SUBSCRIPTIONS,FETCH_BACK_IN_STOCK_SUBSCRIPTIONS_ERROR,FETCH_BACK_IN_STOCK_SUBSCRIPTIONS_SUCCESS,REMOVE_BACK_IN_STOCK_SUBSCRIPTION,REMOVE_BACK_IN_STOCK_SUBSCRIPTION_ERROR,REMOVE_BACK_IN_STOCK_SUBSCRIPTION_SUCCESS}from'@shopgate/engage/back-in-stock/constants';/** * Fetch Back in Stock Subscriptions * @returns {Function} */export var fetchBackInStockSubscriptions=function fetchBackInStockSubscriptions(){return function(dispatch){dispatch({type:FETCH_BACK_IN_STOCK_SUBSCRIPTIONS});var request=new PipelineRequest(SHOPGATE_USER_GET_BACK_IN_STOCK_SUBSCRIPTIONS).setInput({limit:100,filters:{status:{$in:['active','triggered']}}}).setRetries(0).dispatch();request.then(function(_ref){var subscriptions=_ref.subscriptions;dispatch({type:FETCH_BACK_IN_STOCK_SUBSCRIPTIONS_SUCCESS,subscriptions:subscriptions});})["catch"](function(error){dispatch({type:FETCH_BACK_IN_STOCK_SUBSCRIPTIONS_ERROR,error:error});});return request;};};/** * Add a Back in Stock Subscription * @param {Object} props Props. * @param {string} props.productId The product for which the subscription should be added * @returns {Function} */export var addBackInStockSubscription=function addBackInStockSubscription(_ref2){var productId=_ref2.productId;return function(dispatch){dispatch({type:ADD_BACK_IN_STOCK_SUBSCRIPTION});var request=new PipelineRequest(SHOPGATE_USER_ADD_BACK_IN_STOCK_SUBSCRIPTION).setInput({productCode:productId}).setRetries(0).dispatch();request.then(function(_ref3){var subscriptions=_ref3.subscriptions;dispatch({type:ADD_BACK_IN_STOCK_SUBSCRIPTION_SUCCESS,subscriptions:subscriptions});})["catch"](function(error){dispatch({type:ADD_BACK_IN_STOCK_SUBSCRIPTION_ERROR,error:error});});return request;};};/** * Remove a Back in Stock Subscription * @param {Object} props Props. * @param {string} props.subscriptionCode The subscription which should be deleted * @returns {Function} */export var removeBackInStockSubscription=function removeBackInStockSubscription(_ref4){var subscriptionCode=_ref4.subscriptionCode;return function(dispatch){dispatch({type:REMOVE_BACK_IN_STOCK_SUBSCRIPTION});var request=new PipelineRequest(SHOPGATE_USER_DELETE_BACK_IN_STOCK_SUBSCRIPTION).setInput({subscriptionCode:subscriptionCode}).setRetries(0).dispatch();request.then(function(_ref5){var subscriptions=_ref5.subscriptions;dispatch({type:REMOVE_BACK_IN_STOCK_SUBSCRIPTION_SUCCESS,subscriptions:subscriptions});})["catch"](function(error){dispatch({type:REMOVE_BACK_IN_STOCK_SUBSCRIPTION_ERROR,error:error});});return request;};};