import axios from "axios";

const currencyServerConnectAPI = axios.create({
    baseURL: `${process.env.NEXT_PUBLIC_CURRENCY_API_URL}`,
    headers: { "Content-Type": "application/json; charset=utf-8", Accept: "application/json" }
});

currencyServerConnectAPI.interceptors.request.use(async function (config: any) {
    return config;
}, function (error) {
    return Promise.reject(error);
});

currencyServerConnectAPI.interceptors.response.use(async function (response: any) {
    if (response && response.status === 200) {
        if (response.data) {
            return response.data || response;
        }
    } else {
        throw "Unknown database error (code:2)";
    }
}, function (error) {
    return false;
    if (error && error.response) {
        const { data, status } = error.response;
        if (status === 401) {
            return Promise.reject(data.errorMsg || data.message || "Validation error (status 401)");
        } else if (status === 500) {
            return Promise.reject(data.message);
        } else {
            return Promise.reject(error.message);
        }
    } else {
        return Promise.reject(error.message);
    }
});

export default currencyServerConnectAPI;
