import axiosBaseInstance from "./http-base-service";
import mediahubBaseInstance from "./mediahub-base-service";

export async function httpPost(pathUrl: any, headers: any, data?: any) {
    const response = await axiosBaseInstance
        .post(pathUrl, data, { headers })
        .catch(function (error: any) {
            console.log(error);
            return error.response;
        });
    console.log("Response base svc : ", response);
    if (response?.status == 200 || response?.status == 201) {
        return {
            error: false,
            message: "success",
            data: response?.data,
        };
    } else {
        return {
            error: true,
            message: response?.data?.message || response?.data || null,
            data: null,
        };
    }
}

export async function httpGet(pathUrl: any, headers: any) {
    const response = await axiosBaseInstance
        .get(pathUrl, { headers })
        .catch(function (error: any) {
            console.log(error);
            return error.response;
        });
    console.log("Response base svc : ", response);
    if (response?.status == 200 || response?.status == 201) {
        return {
            error: false,
            message: "success",
            data: response?.data,
        };
    } else {
        return {
            error: true,
            message: response?.data?.message || response?.data || null,
            data: null,
        };
    }
}

export async function httpPut(pathUrl: any, headers: any, data?: any) {
    const response = await axiosBaseInstance
        .put(pathUrl, data, { headers })
        .catch(function (error: any) {
            console.log(error);
            return error.response;
        });
    console.log("Response base svc : ", response);
    if (response?.status == 200 || response?.status == 201) {
        return {
            error: false,
            message: "success",
            data: response?.data,
        };
    } else {
        return {
            error: true,
            message: response?.data?.message || response?.data || null,
            data: null,
        };
    }
}

export async function httpDeleteInterceptor(pathUrl: any) {
    const response = await axiosBaseInstance
        .delete(pathUrl)
        .catch((error) => error.response);
    console.log("Response interceptor : ", response);
    if (response?.status == 200 || response?.status == 201) {
        return {
            error: false,
            message: "success",
            data: response?.data,
        };
    } else {
        return {
            error: true,
            message: response?.data?.message || response?.data || null,
            data: null,
        };
    }
}


export async function mediahubGet(pathUrl: any, headers: any) {
    const response = await mediahubBaseInstance
        .get(pathUrl, { headers })
        .catch(function (error: any) {
            console.log(error);
            return error.response;
        });
    console.log("Response base svc : ", response);
    if (response?.status == 200 || response?.status == 201) {
        return {
            error: false,
            message: "success",
            data: response?.data,
        };
    } else {
        return {
            error: true,
            message: response?.data?.message || response?.data || null,
            data: null,
        };
    }
}
