module.exports = async (dbConn) => { const regions = 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.percipitation, rcma.raindays AS rain_days, rcma.sunshine AS sun_hours, regions_byt.average_per_day, regions_byt.accomodation AS accomodation_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.percipitation, "") ORDER BY rcma.month SEPARATOR ', ') AS percipitation, 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` ); for (k = 0; k < regions.length; k++) { // if (regions[k].temperature_mean !== null) { // const temperature_mean = regions[k].temperature_mean // regions[k].temperature_mean = temperature_mean.split(","); // for (i = 0; i < regions[k].temperature_mean.length; i++) { // regions[k].temperature_mean[i] = parseFloat(regions[k].temperature_mean[i]) // } // } // if (regions[k].temperature_mean_min !== null) { // const temperature_mean_min = regions[k].temperature_mean_min // regions[k].temperature_mean_min = temperature_mean_min.split(","); // for (i = 0; i < regions[k].temperature_mean_min.length; i++) { // regions[k].temperature_mean_min[i] = parseFloat(regions[k].temperature_mean_min[i]) // } // } if (regions[k].temperature_mean_max !== null) { const temperature_mean_max = regions[k].temperature_mean_max regions[k].temperature_mean_max = temperature_mean_max.split(","); for (i = 0; i < regions[k].temperature_mean_max.length; i++) { regions[k].temperature_mean_max[i] = parseFloat(regions[k].temperature_mean_max[i]) } } if (regions[k].precipitation !== null) { const precipitation = regions[k].precipitation regions[k].precipitation = precipitation.split(","); for (i = 0; i < regions[k].precipitation.length; i++) { regions[k].precipitation[i] = parseFloat(regions[k].precipitation[i]) } } if (regions[k].rain_days !== null) { const rain_days = regions[k].rain_days regions[k].rain_days = rain_days.split(","); for (i = 0; i < regions[k].rain_days.length; i++) { regions[k].rain_days[i] = parseFloat(regions[k].rain_days[i]) } } if (regions[k].sun_hours !== null) { const sun_hours = regions[k].sun_hours regions[k].sun_hours = sun_hours.split(","); for (i = 0; i < regions[k].sun_hours.length; i++) { regions[k].sun_hours[i] = parseFloat(regions[k].sun_hours[i]) } } // if (regions[k].humidity !== null) { // const humidity = regions[k].humidity // regions[k].humidity = humidity.split(","); // for (i = 0; i < regions[k].humidity.length; i++) { // regions[k].humidity[i] = parseFloat(regions[k].humidity[i]) // } // } } return regions; };