From 46a57891a07b192caa493dddaaba6d7d6ac6fc64 Mon Sep 17 00:00:00 2001 From: Timo Volkmann Date: Wed, 17 Jun 2020 10:48:26 +0200 Subject: [PATCH] satisfiy region interface --- backend/models/getPriceData.js | 4 +-- backend/models/getRegionById.js | 63 ++++++++++++++++++--------------- backend/models/getRegions2.js | 53 +++++++++++++-------------- backend/util/scoreAndSearch.js | 4 +-- backend/util/transformer.js | 13 ++----- 5 files changed, 65 insertions(+), 72 deletions(-) diff --git a/backend/models/getPriceData.js b/backend/models/getPriceData.js index f8a04f9..a981b06 100644 --- a/backend/models/getPriceData.js +++ b/backend/models/getPriceData.js @@ -7,7 +7,7 @@ exports.getBYTdataByRegion = async (dbConn, id, travelstyle = 1) => { accomodation AS accomodation_costs, food AS food_costs, water AS water_costs, - local_transportation AS transportation_costs, + local_transportation AS local_transportation_costs, entertainment AS entertainment_costs FROM regions_byt WHERE region_id = ? AND travelstyle = ?`, @@ -25,7 +25,7 @@ exports.getAllBYTdata = async (dbConn, travelstyle = 1) => { accomodation AS accomodation_costs, food AS food_costs, water AS water_costs, - local_transportation AS transportation_costs, + local_transportation AS local_transportation_costs, entertainment AS entertainment_costs FROM regions_byt WHERE travelstyle = ?`, diff --git a/backend/models/getRegionById.js b/backend/models/getRegionById.js index d70fa74..e100571 100644 --- a/backend/models/getRegionById.js +++ b/backend/models/getRegionById.js @@ -4,21 +4,16 @@ module.exports = async (dbConn, id) => { regions.region AS name, countries.country AS country, regions.description AS description, - rcma.temperature_mean, - rcma.temperature_mean_min, rcma.temperature_mean_max, - rcma.percipitation AS precipitation, + rcma.percipitation AS percipitation, rcma.raindays AS rain_days, rcma.sunshine AS sun_hours, - rcma.humidity, - regions_byt.average_per_day AS average_per_day_costs, - regions_byt.accomodation AS accommodation_costs, + 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.tips_and_handouts AS tips_and_handouts_costs, - regions_byt.scams_robberies_and_mishaps AS scams_robberies_and_mishaps_costs, regions_byt.alcohol AS alcohol_costs FROM regions JOIN countries ON regions.country_id = countries.id @@ -39,20 +34,20 @@ module.exports = async (dbConn, 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 !== 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(","); @@ -73,6 +68,16 @@ module.exports = async (dbConn, id) => { 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]) +<<<<<<< HEAD + } + } + 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]) +======= +>>>>>>> satisfiy region interface } } if (region[k].sun_hours !== null) { @@ -82,13 +87,13 @@ module.exports = async (dbConn, id) => { 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]) - } - } + // 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; }; diff --git a/backend/models/getRegions2.js b/backend/models/getRegions2.js index 6cb8b33..561a7ae 100644 --- a/backend/models/getRegions2.js +++ b/backend/models/getRegions2.js @@ -4,21 +4,16 @@ module.exports = async (dbConn) => { regions.region AS name, countries.country AS country, regions.description AS description, - rcma.temperature_mean, - rcma.temperature_mean_min, rcma.temperature_mean_max, - rcma.percipitation AS precipitation, + rcma.percipitation, rcma.raindays AS rain_days, rcma.sunshine AS sun_hours, - rcma.humidity, - regions_byt.average_per_day AS average_per_day_costs, - regions_byt.accomodation AS accommodation_costs, + 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.tips_and_handouts AS tips_and_handouts_costs, - regions_byt.scams_robberies_and_mishaps AS scams_robberies_and_mishaps_costs, regions_byt.alcohol AS alcohol_costs FROM regions JOIN countries ON regions.country_id = countries.id @@ -37,20 +32,20 @@ module.exports = async (dbConn) => { ); 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 !== 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(","); @@ -80,13 +75,13 @@ module.exports = async (dbConn) => { 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]) - } - } + // 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; }; diff --git a/backend/util/scoreAndSearch.js b/backend/util/scoreAndSearch.js index bcb17a8..a93570f 100644 --- a/backend/util/scoreAndSearch.js +++ b/backend/util/scoreAndSearch.js @@ -5,8 +5,8 @@ const oldToNewQuerySyntax = require("./oldToNewQuerySyntax.js") const getAllRegionsWithClimatePerMonth = require('./getAllRegionsWithClimatePerMonth') const score = require('./score') const transformer = require('./transformer') -const getRegions = require('../models/getRegions.js').getRegionsInternal -// const getRegions = require('../models/getRegions2.js') +// const getRegions = require('../models/getRegions.js').getRegionsInternal +const getRegions = require('../models/getRegions2.js') const MULTIPLIER = { temperature_mean_max: 5, diff --git a/backend/util/transformer.js b/backend/util/transformer.js index 81b7437..19383f6 100644 --- a/backend/util/transformer.js +++ b/backend/util/transformer.js @@ -7,15 +7,8 @@ exports.transform = (data, regions) => { const types = Object.keys(data[0].scores) // STEP 1 Create Response Array with region names from first climate object - let byRegion = regions.map(el => { - // return el - return { - region_id: el.region_id, - name: el.name, - country: el.country, - } - }) - // let byRegion = getRegions().map(el => { + let byRegion = regions + // let byRegion = regions.map(el => { // // return el // return { // region_id: el.region_id, @@ -23,7 +16,7 @@ exports.transform = (data, regions) => { // country: el.country, // } // }) - + // STEP 2 Prepare flat scoreobject array and set days property scoreObjs = _.flatten(_.map(data, (period) => { return _.reduce(period.scores, (arr, el) => {