import { LoginRutas, GetHeaderRequest, GetResponseBody, GetResponseBodyError } from './RutasConfig.jsx';
import axios from 'axios';


// export const Cambiar_Contrasena_Request = async (pToken, NombreUsuario, ContrasenaActual, ContrasenaNueva) => {
//     const data = { NombreUsuario, ContrasenaActual, ContrasenaNueva };
//     const result = await fetch(LoginRutas.Cambiar_Contrasena, {
//         method: 'POST',
//         headers: GetHeaderRequest(pToken),
//         body: JSON.stringify(data)
//     });
//     return await GetResponseBody(result);
// };

// export const Login_Request = async (pUsuario, pContrasena) => {
//     const data = { Usuario: pUsuario, Contrasena: pContrasena };
//     const result = await fetch(LoginRutas.Login, {
//         method: 'POST',
//         body: JSON.stringify(data),
//         headers: {
//             'Content-Type': 'application/json'
//         }
//     });
//     return await GetResponseBody(result);
// };

export const Ingreso_Request = async (pUser, pPassword, pModulo) => {
    const data = { Usuario: pUser, Contrasena: pPassword, Modulo: pModulo };
    const result = await axios.post(LoginRutas.Login, JSON.stringify(data), {
        headers: { 'Content-Type': 'application/json' },
    });
    return await GetResponseBody(result);
}

export const Ingreso_Token_Request = async (pToken, pModulo) => {
    const data = { pToken: pToken, pModulo: pModulo };
    const result = await axios.post(LoginRutas.Login_Token, JSON.stringify(data), {
        headers: { 'Content-Type': 'application/json' },
    });
    return await GetResponseBody(result);
}

export const Cambiar_Contrasena_Request = async (pToken, Login, ContrasenaActual, ContrasenaNueva, ConfirmPass) => {
    try {
        const data = { Login, ContrasenaActual, ContrasenaNueva, ConfirmPass }
        const result = await axios.post(LoginRutas.Cambiar_Contrasena, JSON.stringify(data), { headers: GetHeaderRequest(pToken) });
        return await GetResponseBody(result);
    } catch (error) {
        let pResult = {};
        pResult.status = 401;
        let _result = GetResponseBodyError(pResult);
        return _result;
    }
}

/* export const checkSession = async () => {
    const result = await axios.get(LoginRutas.CheckSession);
    return await GetResponseBody( result);
}

export const obtenerSessionTimeout = async () => {
    const result = await  axios.get(LoginRutas.ObtenerSessionTimeout);
    return await GetResponseBody( result);
}*/

export const removeSession = async () => {
    const result = await axios.get(LoginRutas.RemoveSession);
    return await GetResponseBody( result);
} 

export const CerrarSesion = async () => {
    const result = await axios.post(LoginRutas.CerrarSesion);
    return await GetResponseBody( result);
}