﻿//Url Base
export const baseUrl = document.getElementById('baseFullPath').getAttribute('href');
export const version = document.getElementById('appVersion').value;
let baseRelUrl = document.getElementById("rutaRaizRedireccion").getAttribute("value");
//Controllers
const articulo = 'API/Articulo';
const clientes = 'API/Clientes';
const ordenes = 'API/Ordenes';
const seguridad = 'API/Seguridad';

//Routes
export const ArticuloRoutes = {
    Obtener_Articulos_Activos_vs_Comprados: `${baseUrl}${articulo}/Obtener_Articulos_Activos_vs_Comprados`,
    Obtener_Estadisticas_Articulos_Calificados: `${baseUrl}${articulo}/Obtener_Estadisticas_Articulos_Calificados`,
    Obtener_Estadisticas_Articulos_TopN_Abandonados: `${baseUrl}${articulo}/Obtener_Estadisticas_Articulos_TopN_Abandonados`,
    Obtener_Estadisticas_Articulos_TopN_MejorCalificacion: `${baseUrl}${articulo}/Obtener_Estadisticas_Articulos_TopN_MejorCalificacion`,
    Obtener_Estadisticas_Articulos_TopN_PeorCalificacion: `${baseUrl}${articulo}/Obtener_Estadisticas_Articulos_TopN_PeorCalificacion`,
    Obtener_Estadisticas_Articulos_TopN_Ventas: `${baseUrl}${articulo}/Obtener_Estadisticas_Articulos_TopN_Ventas`,
    Obtener_Datos_Articulos: `${baseUrl}${articulo}/Obtener_Datos_Articulos`,
    Obtener_Calificacion_Pedidos_Por_Articulo: `${baseUrl}${articulo}/Obtener_Calificacion_Pedidos_Por_Articulo`
};

export const ClientesRoutes = {
    ObtenerDatosClientes: `${baseUrl}${clientes}/ObtenerDatosClientes`,
    Socio_Frecuente_Total_ActivosNuevo: `${baseUrl}${clientes}/Socio_Frecuente_Total_ActivosNuevo`,
    Socio_Frecuente_Total_Nuevos: `${baseUrl}${clientes}/Socio_Frecuente_Total_Nuevos`,
    Total_Contactos_Reclamos: `${baseUrl}${clientes}/Total_Contactos_Reclamos`,
    Total_Ventas_Por_Dias: `${baseUrl}${clientes}/Total_Ventas_Por_Dias`
};

export const OrdenesRoutes = {
    ObtenerDatosOrdenes: `${baseUrl}${ordenes}/ObtenerDatosOrdenes`,
};

//Url Routes for Components
export const SiteRoutes = {
    Cliente: `${baseRelUrl}Cliente`,
    Ordenes: `${baseRelUrl}Ordenes`,
    Articulos: `${baseRelUrl}Articulos`
};


//Request Header
export const GetHeaderRequest = pToken => {

    return {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${pToken}`
    }
};


export const GetHeaderRequestFormData = pToken => {
    return {
        'Authorization': `Bearer ${pToken}`
    }
};


export const GetResponseBody = pResponse => {
    const contentType = pResponse.headers["content-type"];
    if (contentType && contentType.indexOf("application/json") !== -1) {
        return pResponse.data;
    } else {
        switch (pResponse.status) {
            case 401:
                return { Exitoso: false, Mensaje: 'No tiene permisos para acceder a este método.', CodigoError: 2 };
            case 500:
                return { Exitoso: false, Mensaje: 'Ocurrió un error en el servidor.', CodigoError: 999 };
            default:
                return { Exitoso: false, Mensaje: 'Ocurrió un error realizando la acción.', CodigoError: 999 };
        }
    }
};

export const GetResponseBodyFetch = pResponse => {

    const contentType = pResponse.headers.get("content-type");

    return pResponse.json();

};