import axios from "axios";
import { baseUrl } from "../../constants/urls";

export const createSellerFetch = async (params: any) => {
  try {
    const url = `${baseUrl}/api/vendor-onboarding`;
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    return await axios(config);
  } catch (error: any) {
    return error.response;
  }
};
export const loginSellerFetch = async (params: any) => {
  try {
    const url = `${baseUrl}/api/vendor-login`;
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    const user_res = await axios(config);

    return user_res.data;
  } catch (error: any) {
    console.log(error.response, "error");

    return error.response;
  }
};
export const loginOTPSellerFetch = async (params: any) => {
  try {
    const url = `${baseUrl}/api/vendor-request-otp`;
    console.log(url, "url");
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    const user_res = await axios(config);

    return user_res;
  } catch (error: any) {
    console.log(error.response, "error");

    return error.response;
  }
};
export const vendorLogin = async (params: any) => {
  try {
    const url = `${baseUrl}/api/vendor-login`;
    axios.defaults.withCredentials = true;
    const config = {
      method: "POST",
      url: url,
      headers: {
        "Content-Type": "application/json",
        withCredentials: true
      },

      data: params,
    };
    const user_res = await axios(config);
    return user_res;
  } catch (error: any) {
    console.log(error.response, "error");
    return error.response;
  }
};

export const loginSession = async () => {
  try {
    const url = `${baseUrl}/api/marketplace/verify-seller-session`;
    // axios.defaults.withCredentials = true;
    const config = {
      method: "GET",
      url: url,
      // headers: {
      //   withCredentials: true,
      //   "Content-Type": "application/json",
      // }
    };
    const login_sesssion = await axios(config);
    
    return login_sesssion;
  } catch (error: any) {
    console.log(error.response, "error");
    return error.response;
  }
};

export const vefyOTP = async (params: any) => {
  try {
    const url = `${baseUrl}/api/vendor-auth-verify`;
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    const user_res = await axios(config);
    return user_res.data;
  } catch (error: any) {
    console.log(error.response, "error");
    return error.response;
  }
};
export const resendOTP = async (params: any) => {
  try {
    const url = `${baseUrl}/api/vendor-auth-verify`;
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    const user_res = await axios(config);
    return user_res.data;
  } catch (error: any) {
    console.log(error.response, "error");
    return error.response;
  }
};
export const vefyTAX = async (params: any) => {
  try {
    const url = `${baseUrl}/api/taxcode-verify`;
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    const user_res = await axios(config);
    return user_res.data;
  } catch (error: any) {
    console.log(error.response, "error");
    return error.response;
  }
};
export const verifyPAN = async (params: any) => {
  try {
    const url = `${baseUrl}/api/pan-verify`;
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    const user_res = await axios(config);
    return user_res.data;
  } catch (error: any) {
    console.log(error.response, "error");
    return error.response;
  }
};
export const updateMeta = async (params: any) => {
  try {
    const url = `${baseUrl}/api/vendor-update-meta`;
    const config = {
      method: "POST",
      url: url,
      header: {
        Accept: "application/json",
      },
      data: params,
    };
    return await axios(config);
  } catch (error: any) {
    console.log(error.response, "error");
    return error.response;
  }
};
