import { get } from 'lodash';
import { baseUrl } from './../../constants/urls';
import axios from "axios";
export const addToCart = async (payload: any) => {
	try {
		
	
	let url = "";
	axios.defaults.withCredentials = true

	let config = {}
	if (payload.token === undefined) {

		url = `${baseUrl}/api/checkout/cart/add/${payload.product_id}`
		config = {
			method: 'POST',
			url: url + '?nocache=' + new Date().getTime(),
			withCredentials: true,
			data: {
				product_id: payload.product_id,
				quantity: payload.quantity,
				vendor_id:payload.vendor_id,
				mp_seller_id:payload.mp_seller_id,
				shipping_type:payload.shipping_type,
				estimated_delivery_days:payload?.estimated_delivery_days,
				seller_lat:payload?.seller_lat,
				seller_lang:payload?.seller_lang,
				customer_lat: payload?.customer_lat,
				customer_lang: payload?.customer_lang,
				customer_pincode: payload?.customer_pincode,
				seller_pincode: payload?.seller_pincode,
				item_weight: payload?.item_weight,
				moq:payload?.moq,
				gst:payload?.gst,
				gift_sheet: payload?.gift_sheet,
				shipCharge:payload?.shipCharge,
				manufacturer_label:payload?.manufacturer_label
			},
			headers: {
				'Content-Type': 'application/json',
				"Cache-Control": "no-cache",
				"Cookie": document.cookie
			}

		};
	} else {
		url = `${baseUrl}/api/checkout/cart/add/${payload.product_id}?token=true`
		config = {
			method: 'POST',
			url: url,
			headers: {
				Accept: 'application/json',
				Authorization: `Bearer ` + payload.token
			},
			data: {
				product_id: payload.product_id,
				quantity: payload.quantity,
				mp_seller_id:payload.mp_seller_id,
				vendor_id:payload.vendor_id,
				shipping_type:payload.shipping_type,
				estimated_delivery_days:payload?.estimated_delivery_days,
				seller_lat:payload?.seller_lat,
				seller_lang:payload?.seller_lang,
				customer_lat: payload?.customer_lat,
				customer_lang: payload?.customer_lang,
				customer_pincode: payload?.customer_pincode,
				seller_pincode: payload?.seller_pincode,
				item_weight: payload?.item_weight,
				moq:payload?.moq,
				gst:payload?.gst,
				gift_sheet: payload?.gift_sheet,
				shipCharge:payload?.shipCharge,
				manufacturer_label:payload?.manufacturer_label
			}

		};
	}

	const add_cart_res = await axios(config);

	// console.log('header', add_cart_res);


	return add_cart_res.data;
} catch (error:any) {
	return error?.response?.data;		
}
}