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

export const provinceManageGuildTradesEditPercents = createAsyncThunk(
  "PROVINCE_MANAGE_GUILD_TRADES_EDIT_PERCENTS",
  async (d, { dispatch }) => {
    try {
      dispatch(LOADING_START());
      const { data, status } = await axios.put("guilds-for-configs/0/", d);
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response.data.result };
    }
  }
);
export const provinceManageGuildTradesEditAllPercents = createAsyncThunk(
  "PROVINCE_MANAGE_GUILD_TRADES_EDIT_ALL_PERCENTS",
  async (d, { dispatch }) => {
    try {
      dispatch(LOADING_START());
      const { data, status } = await axios.put("guilds-configs/0/", d);
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response.data.result };
    }
  }
);

export const provinceManageGuildTradesGetPercents = createAsyncThunk(
  "PROVINCE_MANAGE_GUILD_TRADES_GET_PERCENTS",
  async (d, { dispatch }) => {
    try {
      dispatch(LOADING_START());
      const { data, status } = await axios.get("guilds-configs", {
        params: d,
      });
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response.data };
    }
  }
);
