import { createAsyncThunk } from "@reduxjs/toolkit";
import axios from "axios";
import { LOADING_END, LOADING_START } from "../../../lib/redux/slices/appSlice";
import { getRoleFromUrl } from "../../../utils/getRoleFromUrl";

export const guildSalesInfoDashboardService = createAsyncThunk(
  "GUILD_SALES_INFO_DASHBOARD_SERVICE",
  async (d, { dispatch }) => {
    dispatch(LOADING_START());
    try {
      const { data, status } = await axios.get("guild-sales-info-dashboard/", {
        params: {
          role: d.role || getRoleFromUrl(),
          role_key: d.role_key || "",
        },
      });
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response?.data?.result };
    }
  }
);
