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 slaughterGetDispenserInfoService = createAsyncThunk(
  "SLAUGHTER_GET_DISPENSER_INFO_SERVICE",
  async (params, { dispatch }) => {
    try {
      dispatch(LOADING_START());
      const { data, status } = await axios.get("dispenser-info/", {
        params: {
          role: getRoleFromUrl(),
          type: params.type || "",
          search: params.search || "filter",
          value: params.value || "",
          page: params.page || 1,
          page_size: params.page_size || 10,
          role_key: params.role_key || "",
        },
      });
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return {
        error:
          e.response?.data?.result ||
          e.response?.data ||
          "خطا در دریافت اطلاعات",
      };
    }
  }
);
