Blame view

redux/actions/referralAction.js 1.61 KB
jay 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
import axios from "axios";
import { REFERRAL_SUBMIT_FAIL, REFERRAL_SUBMIT_REQUEST, REFERRAL_SUBMIT_SUCCESS, CLEAR_ERRORS } from "../constants/referralConstants";

export const postReferralDetails = referralData => async dispatch => {
  try {
    dispatch({
      type: REFERRAL_SUBMIT_REQUEST
    });

    const config = {
      headers: {
        "Content-Type": "application/json"
      }
    };

    const response = await axios.post(
      `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/referrals`,
      {
        data: {
          fullName: referralData.fullName,
          township: referralData.township,
          mobileNumber: referralData.mobileNo,
          project: referralData.building,
          email: referralData.email,
          wing: referralData.wing,
          flatNumber: referralData.flatNo,
          ownershipType: referralData.ownershipType,
          purchasedYear: referralData.purchasedYear,
          purchasedSource: referralData.purchasedSource,
          referralName: referralData.referralName,
          referralPhoneNo: referralData.referralMobileNo,
          referralEmail: referralData.referralEmail,
          projectReferredTo: referralData.projectReferredTo
        }
      },
      config
    );

    dispatch({
      type: REFERRAL_SUBMIT_SUCCESS,
      payload: response.data
    });
  } catch (error) {
    console.log("Error while submitting referral details: ");
    console.log(error);

    dispatch({
      type: REFERRAL_SUBMIT_FAIL,
      payload: error.response.data
    });
  }
};

// Clear errors
export const clearErrors = () => async dispatch => {
  dispatch({
    type: CLEAR_ERRORS
  });
};