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

export const stewardSubmitFreeBarService = createAsyncThunk(
  "STEWARD_FREE_BAR_SERVICE",
  async (d, { dispatch }) => {
    dispatch(LOADING_START());
    try {
      const { data, status } = await axios.post("steward_free_bar/", d);
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response?.data?.result };
    }
  }
);

export const stewardEditFreeBarService = createAsyncThunk(
  "STEWARD_EDIT_FREE_BAR_SERVICE",
  async (d, { dispatch }) => {
    dispatch(LOADING_START());
    try {
      const { data, status } = await axios.put(`steward_free_bar/0/`, d);
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response?.data?.result };
    }
  }
);

export const stewardDeleteFreeBarService = createAsyncThunk(
  "STEWARD_DELETE_FREE_BAR_SERVICE",
  async (key, { dispatch }) => {
    dispatch(LOADING_START());
    try {
      const { data, status } = await axios.delete(
        `steward_free_bar/0/?key=${key}`
      );
      dispatch(LOADING_END());
      return { data, status };
    } catch (e) {
      dispatch(LOADING_END());
      return { error: e.response?.data?.result || "خطا در حذف اطلاعات" };
    }
  }
);
