"use server";

import { getSession } from "@/actions/auth/session";


export const fetchFormPostData = async (params = {}, path: string) => {
    try {
        const session = await getSession();

        const API_URL_TCLOUD_SAN_JOSE = process.env.API_URL_TCLOUD_SAN_JOSE_REPORT;
        //console.log('API_URL_TCLOUD_SAN_JOSE ', API_URL_TCLOUD_SAN_JOSE);
        //console.log('path ', path);
        const response = await fetch(`${API_URL_TCLOUD_SAN_JOSE}${path}`, {
            method: "POST",
            headers: {
                "Content-Type": "application/x-www-form-urlencoded",
                "Authorization": `Bearer ${session?.accessToken}`
            },
            body: new URLSearchParams(params)
        });
        //console.log('response ', response);
        if (response.ok) {
            //console.log('esta ok');

            const dataResponse = await response.json();
            //console.log('response ', dataResponse);

            return {
                status: dataResponse.status,
                payload: dataResponse.payload
            };
        }
        console.log('algo pasa ', response);

        return {
            status: response.status,
            payload: null
        };

    } catch (error) {
        console.log("An error occurred", error);

        return {
            status: 500,
            payload: null
        };
    }
};

export const fetchDataFromSanJose = async (body = {}, path: string) => {
    try {
        const session = await getSession();
        const API_URL = process.env.API_URL_TCLOUD_SAN_JOSE;

        const response = await fetch(`${API_URL}${path}`, {
            method: "POST",
            headers: {
                "Content-Type": "application/json",
                "Authorization": `Bearer ${session?.accessToken}`
            },
            body: JSON.stringify(body)
        });

        if (response.ok) {
            const dataResponse = await response.json();
            return {
                status: 200,
                payload: dataResponse.data
            };
        }

        console.log("Error en la respuesta", response);
        return {
            status: response.status,
            payload: null
        };

    } catch (error) {
        console.log("An error occurred ", error);
        return {
            status: 500,
            payload: null
        };
    }
};


