const express = require("express");
const router = express.Router();
const renderPage = require("../utils/renderHelper");
const logger = require("../utils/logger");
const parcoursService = require("../services/parcoursService");

router.get("/", (req, res) => {
  renderPage("historiqueParcours.ejs", res);
});

router.get("/read", async (req, res) => {
  try {
    const allParcours = await parcoursService.getAllParcours();

    if (allParcours) {
      res.json({ valid: true, allParcours });
    } else {
      res.json({ valid: false });
    }
  } catch (error) {
    logger.log("error", error);

    res.status(500).json({
      valid: false,
      error: "Erreur lors de la récupération des parcours.",
    });
  }
});

//controller to get parcours by region
router.get("/:regionUser", async (req, res) => {
  try {
    const { regionUser } = req.params;
    const data = await parcoursService.getParcoursByRegion(regionUser);

    if (data) {
      res.json({ valid: true, data });
    } else {
      res.json({ valid: data });
    }
  } catch (error) {
    logger.log("error", error);

    res.status(500).json({
      valid: false,
      error: "Erreur lors de la récupération des parcours.",
    });
  }
});

module.exports = router;
