Fixed Region endpoint and cleared up a little.

This commit is contained in:
Timo John 2020-06-17 18:03:47 +02:00 committed by Timo Volkmann
parent 337c1e49cf
commit e88952388b
3 changed files with 36 additions and 108 deletions

View File

@ -1,3 +1,5 @@
const climateArrayFormatting = require("./../util/climateArrayFormatting.js")
module.exports = async (dbConn, id) => {
const region = await dbConn.query(
`SELECT regions.id AS region_id,
@ -16,74 +18,31 @@ module.exports = async (dbConn, id) => {
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,
LEFT JOIN countries ON regions.country_id = countries.id
LEFT 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.percipitation, "") 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
LEFT 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])
// }
// }
//region[k].temperature_mean = climateArrayFormatting(region[k].temperature_mean);
//region[k].temperature_mean_min = climateArrayFormatting(region[k].temperature_mean_min);
region[k].temperature_mean_max = climateArrayFormatting(region[k].temperature_mean_max);
region[k].precipitation = climateArrayFormatting(region[k].precipitation);
region[k].rain_days = climateArrayFormatting(region[k].rain_days);
region[k].sun_hours = climateArrayFormatting(region[k].sun_hours);
//region[k].humidity = climateArrayFormatting(region[k].humidity);
}
return region;
};

View File

@ -1,3 +1,5 @@
const climateArrayFormatting = require("./../util/climateArrayFormatting.js")
module.exports = async (dbConn) => {
const regions = await dbConn.query(
`SELECT regions.id AS region_id,
@ -16,72 +18,29 @@ module.exports = async (dbConn) => {
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,
LEFT JOIN countries ON regions.country_id = countries.id
LEFT 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.percipitation, "") 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
LEFT 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])
// }
// }
//regions[k].temperature_mean = climateArrayFormatting(regions[k].temperature_mean);
//regions[k].temperature_mean_min = climateArrayFormatting(regions[k].temperature_mean_min);
regions[k].temperature_mean_max = climateArrayFormatting(regions[k].temperature_mean_max);
regions[k].precipitation = climateArrayFormatting(regions[k].precipitation);
regions[k].rain_days = climateArrayFormatting(regions[k].rain_days);
regions[k].sun_hours = climateArrayFormatting(regions[k].sun_hours);
//regions[k].humidity = climateArrayFormatting(regions[k].humidity);
}
return regions;
};

View File

@ -0,0 +1,10 @@
module.exports = (array) => {
if (array !== null && array !== undefined) {
const value = array
array = value.split(",");
for (i = 0; i < array.length; i++) {
array[i] = parseFloat(array[i])
}
}
return array;
}