module.exports = async (dbConn, id) => { const region = await dbConn.query( `SELECT regions.id AS region_id, regions.region AS name, countries.country AS country, regions.description AS description, rcma.temperature_mean_max, rcma.precipitation AS precipitation, rcma.raindays AS rain_days, rcma.sunshine AS sun_hours, regions_byt.average_per_day AS average_per_day_costs, regions_byt.accomodation AS accommodation_costs, regions_byt.food AS food_costs, regions_byt.water AS water_costs, regions_byt.local_transportation AS local_transportation_costs, regions_byt.entertainment AS entertainment_costs, regions_byt.alcohol AS alcohol_costs FROM regions JOIN countries ON regions.country_id = countries.id JOIN (SELECT rcma.region_id, GROUP_CONCAT(IFNULL(rcma.temperature_mean,"") ORDER BY rcma.month SEPARATOR ', ') AS temperature_mean, GROUP_CONCAT(IFNULL(rcma.temperature_mean_min, "") ORDER BY rcma.month SEPARATOR ', ') AS temperature_mean_min, GROUP_CONCAT(IFNULL(rcma.temperature_mean_max, "") ORDER BY rcma.month SEPARATOR ', ') AS temperature_mean_max, GROUP_CONCAT(IFNULL(rcma.precipitation, "") ORDER BY rcma.month SEPARATOR ', ') AS precipitation, GROUP_CONCAT(IFNULL(rcma.raindays, "") ORDER BY rcma.month SEPARATOR ', ') AS raindays, GROUP_CONCAT(IFNULL(rcma.sunshine, "") ORDER BY rcma.month SEPARATOR ', ') AS sunshine, GROUP_CONCAT(IFNULL(rcma.humidity, "") ORDER BY rcma.month SEPARATOR ', ') AS humidity FROM region_climate_monthly_avg AS rcma GROUP BY rcma.region_id) rcma ON rcma.region_id = regions.id JOIN regions_byt ON regions.id = regions_byt.region_id WHERE regions_byt.travelstyle = 1 AND regions.id = ?`, [id] ); for (k = 0; k < region.length; k++) { // if (region[k].temperature_mean !== null) { // const temperature_mean = region[k].temperature_mean // region[k].temperature_mean = temperature_mean.split(","); // for (i = 0; i < region[k].temperature_mean.length; i++) { // region[k].temperature_mean[i] = parseFloat(region[k].temperature_mean[i]) // } // } // if (region[k].temperature_mean_min !== null) { // const temperature_mean_min = region[k].temperature_mean_min // region[k].temperature_mean_min = temperature_mean_min.split(","); // for (i = 0; i < region[k].temperature_mean_min.length; i++) { // region[k].temperature_mean_min[i] = parseFloat(region[k].temperature_mean_min[i]) // } // } if (region[k].temperature_mean_max !== null) { const temperature_mean_max = region[k].temperature_mean_max region[k].temperature_mean_max = temperature_mean_max.split(","); for (i = 0; i < region[k].temperature_mean_max.length; i++) { region[k].temperature_mean_max[i] = parseFloat(region[k].temperature_mean_max[i]) } } if (region[k].precipitation !== null) { const precipitation = region[k].precipitation region[k].precipitation = precipitation.split(","); for (i = 0; i < region[k].precipitation.length; i++) { region[k].precipitation[i] = parseFloat(region[k].precipitation[i]) } } if (region[k].rain_days !== null) { const rain_days = region[k].rain_days region[k].rain_days = rain_days.split(","); for (i = 0; i < region[k].rain_days.length; i++) { region[k].rain_days[i] = parseFloat(region[k].rain_days[i]) } } if (region[k].sun_hours !== null) { const sun_hours = region[k].sun_hours region[k].sun_hours = sun_hours.split(","); for (i = 0; i < region[k].sun_hours.length; i++) { region[k].sun_hours[i] = parseFloat(region[k].sun_hours[i]) } } // if (region[k].humidity !== null) { // const humidity = region[k].humidity // region[k].humidity = humidity.split(","); // for (i = 0; i < region[k].humidity.length; i++) { // region[k].humidity[i] = parseFloat(region[k].humidity[i]) // } // } } return region; };