const { consultarViabilidade } = require('../service/viabilidadeService'); const { processCsvFile } = require('../service/csvService'); const { getJob } = require('../service/jobStore.service'); // Controlador para consultar viabilidade async function consultarViabilidadeController(req, res) { try { const data = req.body; const result = await consultarViabilidade(data); res.json(result); } catch (error) { console.error("Erro ao consultar viabilidade:", error && (error.message || error)); res.status(500).json({ error: "Erro ao consultar viabilidade" }); } } async function uploadCsvFile(req, res) { try { // validação simples: verifica se multer populou req.file if (!req.file) { return res.status(400).json({ error: 'Nenhum arquivo enviado. Campo do form deve ser "csvfile".' }); } const filePath = req.file.path; const originalName = req.file.originalname || req.file.filename || 'input.csv'; const out = await processCsvFile(filePath, originalName); // normaliza retorno (processCsvFile pode retornar string ou objeto) const outputPath = (typeof out === 'string') ? out : (out && out.outputPath) || null; return res.json({ outputPath }); } catch (error) { console.error("Erro ao processar CSV:", error && (error.message || error)); return res.status(500).json({ error: 'Erro ao processar CSV' }); } } async function getJobController(req, res) { try { const jobId = req.params.jobId; const job = getJob(jobId); if (!job) { return res.status(404).json({ error: 'Job não encontrado' }); } res.json(job); } catch (error) { console.error("Erro ao obter job:", error && (error.message || error)); return res.status(500).json({ error: 'Erro ao obter job' }); } } module.exports = { consultarViabilidadeController, uploadCsvFile, getJobController };