const { generateDepartmentAveragesAndColors } = require('./indicateurs.js');

const express = require("express");
const cors = require("cors");

const app = express();
app.use(cors());

const PORT = 5000;



app.get("/api/indicateurs", async (req, res) => {
    try {
        const { averages, colors } = await generateDepartmentAveragesAndColors("score_global");
        res.json({
            averages,
            colors
        });
    } catch (error) {
        res.status(500).send('Erreur lors du traitement du fichier CSV');
    }
});

app.get("/api/indicateursPH", async (req, res) => {
    try {
        const { averages, colors } = await generateDepartmentAveragesAndColors("score_pH");
        res.json({
            averages,
            colors
        });
    } catch (error) {
        res.status(500).send('Erreur lors du traitement du fichier CSV');
    }
});

app.get("/api/indicateursChlore", async (req, res) => {
    try {
        const { averages, colors } = await generateDepartmentAveragesAndColors("score_Chlore");
        res.json({
            averages,
            colors
        });
    } catch (error) {
        res.status(500).send('Erreur lors du traitement du fichier CSV');
    }
});

app.get("/api/indicateursNitritesNitrates", async (req, res) => {
    try {
        const { averages, colors } = await generateDepartmentAveragesAndColors("score_Nitrites_Nitrates");
        res.json({
            averages,
            colors
        });
    } catch (error) {
        res.status(500).send('Erreur lors du traitement du fichier CSV');
    }
});

app.get("/api/indicateursMetauxLourds", async (req, res) => {
    try {
        const { averages, colors } = await generateDepartmentAveragesAndColors("score_Metaux_Lourds");
        res.json({
            averages,
            colors
        });
    } catch (error) {
        res.status(500).send('Erreur lors du traitement du fichier CSV');
    }
});


app.listen(PORT, () => {
    console.log(`Serveur lancé sur http://localhost:${PORT}`);
});