const apiConfig = require("../config/apiConfig.js") const axios = require("axios"); const qs = require("qs"); const consultaViabilidade = async (lat, lon) => { const url = apiConfig.geogridApiUrl; const apiKey = apiConfig.geogridApiKey; const apiCookie = apiConfig.geogridApiCookie; try { // Monta os parâmetros como arrays para garantir serialização correta const params = { raio: 5000, latitude: lat, longitude: lon, itens: ["caixa"], ordenarCampos: ["distancia"], ordenarPor: ["asc"] }; const response = await axios.get(url, { params, // força a serialização do tipo `itens[]=caixa` paramsSerializer: p => qs.stringify(p, { arrayFormat: 'brackets' }), headers: { 'api-key': apiKey, Cookie: apiCookie } }); const registros = response.data && response.data.registros; const primeiro = Array.isArray(registros) && registros.length ? registros[0] : null; // Retorna no formato esperado pelo controller (viabilidade.data.distancia) return { data: primeiro }; } catch (error) { console.error("Erro ao consultar viabilidade:", error && error.message ? error.message : error); throw new Error("Erro ao consultar viabilidade"); } }; module.exports = { consultaViabilidade };