Blame view

redux/actions/giftCardAction.js 1.6 KB
Ravindra Kanojiya committed
1
import axios from "axios";
jaymehta committed
2
import { getSession } from "next-auth/react";
Ravindra Kanojiya committed
3 4 5
import qs from "qs";
import { GET_GIFTCARD_FAIL, GET_GIFTCARD_REQUEST, GET_GIFTCARD_SUCCESS } from "../constants/giftCardConstants";

jaymehta committed
6
export const getGiftCard = id => async dispatch => {
Ravindra Kanojiya committed
7 8 9 10 11 12 13 14 15 16 17
  try {
    dispatch({
      type: GET_GIFTCARD_REQUEST
    });

    const config = {
      headers: {
        "Content-Type": "application/json"
      }
    };
    const query = {
jaymehta committed
18 19 20 21 22 23
      populate: ["image", "endUser"],
      filters: {
        endUser: {
          id: { $eq: id }
        }
      }
Ravindra Kanojiya committed
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
    };

    const queryString = qs.stringify(query, {
      encodeValuesOnly: true
    });

    const response = await axios.get(`${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/gift-cards?${queryString}`, config);
    console.log("response > ", response.data);
    dispatch({
      type: GET_GIFTCARD_SUCCESS,
      payload: response.data
    });
    console.log("gift card here");

    return response.data;
  } catch (error) {
    dispatch({
      type: GET_GIFTCARD_FAIL,
      payload: error.response.data
    });
  }
};
jaymehta committed
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

export const postGiftCard = async ({ data }) => {
  try {
    const session = await getSession();
    if (!session) {
      return;
    }
    const config = {
      headers: {
        "Content-Type": "application/json",
        Authorization: `Bearer ${session.jwt}`
      }
    };

    // const data = {
    //   data
    // };
    const response = await axios.post(`${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/gift-cards`, { data }, config);
    return response.data;
  } catch (error) {
    console.log("error while posting gift card");
  }
};