const express = require("express");
const path = require("path");
const pool = require("../lib/connect");
const router = express.Router();
const index = path.join(__dirname, "../src/views/index.ejs");

const staticRoutes = [
  {
    id: 991,
    titulo: "Media vuelta a Ancash",
    descripcion:
      "A lo largo de mis XX años como rider he podido recorrer todo el Perú, sobre todo la ruta Puquio - Pampachirí, mi preferida. Y es que esta ruta lo tiene todo: paisajes, atardeceres, liviana, pero sobre todo el restaurante de Carmen, Carmencita para mí y para todos los riders que la han visitado, porque así hayas ido una vez, te recibe con mucho cariño, el mismo al que le pone a sus comidas.",
    autor: "Juan Armando Ortega",
    lugar: "Ancash",
    likes: 22,
    ruta: "Empieza en Ancon y Termina en Huaraz, vía Chavin y Chacas",
    distancia: "1,200 km",
    clima: "Depende del mes, lluvia de Octubre a Marzo y sol los demás días del año",
    terreno: "Pista y Trocha",
    dificultad: "2",
    altura: "4,700 msnm",
    tipo_ruta: " 8 horas por día aproximadamente",
    moto: "gs 850",
    tiempo: "3 días",
    deptos: "Lima, Ancash",
    salida: "",
    llegada: "",
    video: "https://www.youtube.com/embed/NLH6SgVL7Hs?si=p1LxfKbD_M4uf1t4",
    datecreated: "",
    comentarios: ["", "", ""],
    portada: "../assets/interactive-map/juan-ortega.jpeg",
    fotos: ["", "", ""],
    moto_img: "../assets/interactive-map/MOTO JUAN ARMANDO ORTEGA.png",
  },
  {
    id: 992,
    titulo: "Vuelta al Huascarán",
    descripcion:
      "Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores laboriosam rerum magnam perspiciatis consectetur quos eligendi in adipisci est vel earum beatae culpa cupiditate numquam nam neque, enim quae consequatur eligendi in adipisci est vel earum beatae culpa cupiditate numquam nam neque, enim quae consequatur.",
    autor: "CARLOS OJEDA",
    lugar: "Huascarán",
    likes: 10,
    ruta: "Lima Chacas / Chacas Caraz / Caraz Lima",
    distancia: "1,300 kms",
    clima: "3 grados a 26 grados",
    terreno: "70 pista 30 trocha",
    dificultad: "pista:basico / trocha:intermedio",
    altura: "hasta 4,800 msnm",
    tipo_ruta: "turística",
    moto: "r1200gs",
    tiempo: "primer día 10 hora / segundo día 8 horas / tercer dia 8 horas",
    deptos: "Lima Ancash",
    salida: "",
    llegada: "",
    video: "https://www.youtube.com/embed/NLH6SgVL7Hs?si=p1LxfKbD_M4uf1t4",
    datecreated: "",
    comentarios: ["", "", ""],
    portada: "../assets/interactive-map/carlos-portada.jpeg",
    fotos: ["", "", ""],
    moto_img: "../assets/interactive-map/MOTO CARLOS OJEDA-2.png",
  },
  {
    id: 993,
    titulo: "",
    descripcion:
      "A lo largo de mis XX años como rider he podido recorrer todo el Perú, sobre todo la ruta Puquio - Pampachirí, mi preferida. Y es que esta ruta lo tiene todo: paisajes, atardeceres, liviana, pero sobre todo el restaurante de Carmen, Carmencita para mí y para todos los riders que la han visitado, porque así hayas ido una vez, te recibe con mucho cariño, el mismo al que le pone a sus comidas.",
    autor: "José Huerta",
    lugar: "Lima - Junín - Pasco",
    likes: 16,
    ruta: "Empieza en Lima Peaje Ramiro Priale - Termina en el departamento de Pasco - provincia y distrito Oxapampa la Reserva de Biosfera.",
    distancia: "aprox 1000km",
    clima:
      "durante la ruta, varía ya que cruzamos diversos departamentos, en la ciudad de oxapampa, clima cálido, caluroso durante en día y frío durante la noche (en verano) , en época de invierno es full lluvias",
    terreno: "90% asfalto en la ruta, Oxapampa 70% asfaltado",
    dificultad: "media - alta, la consideró así por el flujo vehicular y los cambios bruscos de temperatura",
    altura: "altura maxima en ruta 4818msnm - Oxapampa 1814msnm",
    tipo_ruta: "Turística",
    moto: "F850Gs Rally",
    tiempo: "7h aprox",
    deptos: "Lima - Junín - Pasco",
    salida: "06/09/2023",
    llegada: "06/09/2023",
    video: "https://www.youtube.com/embed/NLH6SgVL7Hs?si=p1LxfKbD_M4uf1t4",
    datecreated: "",
    comentarios: ["", "", ""],
    portada: "../assets/interactive-map/jose-huerta.jpeg",
    fotos: ["", "", ""],
    moto_img: "../assets/interactive-map/MOTO JOSE HUERTA.png",
  },
  {
    id: 994,
    titulo: "Los secretos de Nor Yauyos",
    descripcion:
      "A lo largo de mis XX años como rider he podido recorrer todo el Perú, sobre todo la ruta Puquio - Pampachirí, mi preferida. Y es que esta ruta lo tiene todo: paisajes, atardeceres, liviana, pero sobre todo el restaurante de Carmen, Carmencita para mí y para todos los riders que la han visitado, porque así hayas ido una vez, te recibe con mucho cariño, el mismo al que le pone a sus comidas.",
    autor: "Paul tejada",
    lugar: "Lima, Laraos, Tinco, Huancaya, Tanta, San Mateo, Santa Clara, Lima",
    likes: 14,
    ruta: "Lima, Laraos, Tinco, Huancaya, Tanta, San Mateo, Santa Clara, Lima",
    distancia: "700km",
    clima: "calor y sol de dia. Frio de noche, posibles lluvias",
    terreno: "500km pista, 200km trocha",
    dificultad: "3 de 5",
    altura: "4200msnm",
    tipo_ruta: "mixta",
    moto: "r1250 gs",
    tiempo: "16 horas",
    deptos: "Provincia de Lima",
    salida: "se recomienda Abril",
    llegada: "recorrido de 2 días",
    video: "https://www.youtube.com/embed/NLH6SgVL7Hs?si=p1LxfKbD_M4uf1t4",
    datecreated: "",
    comentarios: ["", "", ""],
    portada: "../assets/interactive-map/paul-tejeda.jpg",
    fotos: ["", "", ""],
    moto_img: "../assets/interactive-map/MOTO PAUL TEJADA.png",
  },
  {
    id: 995,
    titulo: "valle Izcozacin paraíso natural",
    descripcion:
      "A lo largo de mis XX años como rider he podido recorrer todo el Perú, sobre todo la ruta Puquio - Pampachirí, mi preferida. Y es que esta ruta lo tiene todo: paisajes, atardeceres, liviana, pero sobre todo el restaurante de Carmen, Carmencita para mí y para todos los riders que la han visitado, porque así hayas ido una vez, te recibe con mucho cariño, el mismo al que le pone a sus comidas.",
    autor: "ALEXANDER GUÍA",
    lugar: "",
    likes: 22,
    ruta: "",
    distancia: "km",
    clima: "",
    terreno: "",
    dificultad: "",
    altura: "km",
    tipo_ruta: "",
    moto: "",
    tiempo: "12-13 horas de ruta",
    deptos: "",
    salida: "",
    llegada: "",
    video: "https://www.youtube.com/embed/NLH6SgVL7Hs?si=p1LxfKbD_M4uf1t4",
    datecreated: "20/08/2022",
    comentarios: ["", "", ""],
    portada: "../assets/interactive-map/alexander-portada.jpg",
    fotos: ["", "", ""],
    moto_img: "../assets/interactive-map/MOTO ALEXANDER GUIA.png",
  },
];

/* const defaultRoute = {
  id: 0,
  titulo: "NO PUEDES LLEGAR A PAMPACHIRI SIN ANTES VISITAR A CARMEN, CARMENCITA.",
  descripcion:
    "A lo largo de mis XX años como rider he podido recorrer todo el Perú, sobre todo la ruta Puquio - Pampachirí, mi preferida. Y es que esta ruta lo tiene todo: paisajes, atardeceres, liviana, pero sobre todo el restaurante de Carmen, Carmencita para mí y para todos los riders que la han visitado, porque así hayas ido una vez, te recibe con mucho cariño, el mismo al que le pone a sus comidas.",
  autor: "Luis Rodriguez",
  lugar: "PUQUIO - PAMPANCHIRI",
  likes: 22,
  ruta: "Empieza en Ancon y Termina en Huaraz, vía Chavin y Chacas",
  distancia: "142,65 km",
  clima: "1.626 M",
  terreno: "Moderado",
  dificultad: "2.015 M",
  altura: "4.514 mts",
  tipo_ruta: "Solo ida",
  moto: "gs 850",
  tiempo: "4 horas 32 minutos",
  deptos: "9671",
  salida: "20 de julio de 2021",
  llegada: "20 de julio de 2021",
  video: "https://www.youtube.com/embed/NLH6SgVL7Hs?si=p1LxfKbD_M4uf1t4",
  datecreated: "",
  comentarios: ["", "", ""],
  portada: "../assets/desktop/IMG MUESTRA REF DE VIDEO.png",
  fotos: ["", "", ""],
  moto_img: "../assets/desktop/img moto.png",
}; */

router.get("/", (req, res, next) => {
  res.render(index);
});

router.get("/:id", (req, res, next) => {
  const routeId = parseInt(req.params.id); // Convierte el ID a un número entero

  // Busca el objeto con el ID coincidente en el array staticRoutes
  const staticRoute = staticRoutes.find((item) => item.id === routeId);

  if (staticRoute) {
    // Si se encuentra la ruta en los datos estáticos, respondemos con esos datos
    res.status(200).json(staticRoute);
  } else {
    const sqlQuery = `SELECT rutas.id AS ruta_id,
    rutas.titulo, rutas.autor, rutas.descripcion, rutas.lugar,
    rutas.likes, rutas.ruta, rutas.distancia, rutas.clima,
    rutas.terreno, rutas.dificultad, rutas.altura, rutas.tipo_ruta,
    rutas.moto, rutas.tiempo, rutas.deptos, rutas.salida,
    rutas.llegada, rutas.lat, rutas.lng, video.url_video,
    JSON_ARRAYAGG(comentarios.comentario) AS comentarios,
    imagenes.url AS imagen_url
  FROM rutas
  LEFT JOIN video ON rutas.id = video.id_ruta
  LEFT JOIN imagenes ON rutas.id = imagenes.id_ruta 
  LEFT JOIN (
  SELECT id_ruta, comentario
  FROM comentarios
  ) AS comentarios ON rutas.id = comentarios.id_ruta
  GROUP BY ruta_id , video.url_video ,imagenes.url`;
    // Si no se encuentra en los datos estáticos, realizamos una consulta a la base de datos
    pool.query(sqlQuery, routeId, (err, result) => {
      if (err) {
        console.log(err);
        res.status(500).send("Error en la base de datos");
      } else if (result.length === 0) {
        // Si la consulta no encuentra una ruta con ese ID, respondemos con un mensaje de error
        res.status(404).send("Ruta no encontrada");
      } else {
        // Si se encuentra una ruta en la base de datos, respondemos con esos datos
        const routeFromDB = result[0];
        res.status(200).json(routeFromDB);
      }
    });
  }
});

module.exports = router;
