Blame view

redux/reducers/categoryReducer.js 1.48 KB
jaymehta committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
import { GET_CATEGORIES_REQUEST, CLEAR_ERRORS, GET_CATEGORIES_SUCCESS, GET_CATEGORIES_FAIL, GET_SUB_CATEGORIES_REQUEST, GET_SUB_CATEGORIES_FAIL, GET_SUB_CATEGORIES_SUCCESS } from "../constants/categoryConstants";

export const getAllCategoriesReducer = (state = { loading: true, success: false, categories: null }, action) => {
    switch (action.type) {
      case GET_CATEGORIES_REQUEST:
        return {
          loading: true,
        };
  
      case GET_CATEGORIES_SUCCESS:
        return {
          loading: false,
          categories: action.payload
        };
  
      case GET_CATEGORIES_FAIL:
        return {
          loading: false,
          error: action.payload.error.message
        };
  
      case CLEAR_ERRORS:
        return {
          ...state,
          error: null
        };
  
      default:
        return state;
    }
  };


export const getAllSubCategoriesReducer = (state = { loading: true, success: false, subCategories: null }, action) => {
    switch (action.type) {
      case GET_SUB_CATEGORIES_REQUEST:
        return {
          loading: true,
        };
  
      case GET_SUB_CATEGORIES_SUCCESS:
        return {
          loading: false,
          subCategories: action.payload
        };
  
      case GET_SUB_CATEGORIES_FAIL:
        return {
          loading: false,
          error: action.payload.error.message
        };
  
      case CLEAR_ERRORS:
        return {
          ...state,
          error: null
        };
  
      default:
        return state;
    }
  };