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

export const provincePolicyGetDirectPurchaseBarLimitation = createAsyncThunk(
  "PROVINCE_POLICY_GET_DIRECT_PURCHASE_BAR_LIMITATION",
  async (d, { dispatch }) => {
    try {
      dispatch(LOADING_START());
      const { data, status } = await axios.get(
        "limitation_for_direct_purchase_and_bar_information/"
      );
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response?.data?.result || "خطا در دریافت اطلاعات" };
    }
  }
);

export const provincePolicyEditDirectPurchaseBarLimitation = createAsyncThunk(
  "PROVINCE_POLICY_EDIT_DIRECT_PURCHASE_BAR_LIMITATION",
  async ({ id, data: requestData }, { dispatch }) => {
    try {
      dispatch(LOADING_START());
      const { data, status } = await axios.put(
        `limitation_for_direct_purchase_and_bar_information/${id}/`,
        requestData
      );
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response?.data?.result || "خطا در ویرایش اطلاعات" };
    }
  }
);
