Merge branch 'feature/weather' into 'develop'

Feature/weather

See merge request tjohn/cc-data!27
This commit is contained in:
Timo John 2020-06-24 13:23:48 +02:00
commit 91ab7ae971
7 changed files with 47 additions and 15 deletions

View File

@ -1,4 +1,6 @@
const router = require("express").Router() const router = require("express").Router()
// Models
const handleClimateUpdate = require("../models/handleClimateUpdate.js") const handleClimateUpdate = require("../models/handleClimateUpdate.js")
module.exports = dbConn => { module.exports = dbConn => {

View File

@ -1,8 +1,11 @@
const router = require("express").Router(); const router = require("express").Router();
// Models
const getCountries = require("../models/getCountries.js"); const getCountries = require("../models/getCountries.js");
const getCountryById = require("../models/getCountryById.js"); const getCountryById = require("../models/getCountryById.js");
const sqlstring = require("sqlstring") // Utils
const sqlSanitzer = require("../util/sqlstring_sanitizer.js")
module.exports = dbConn => { module.exports = dbConn => {
router.get("/api/v1/countries", async (req, res) => { router.get("/api/v1/countries", async (req, res) => {
@ -10,7 +13,7 @@ module.exports = dbConn => {
}); });
router.get("/api/v1/countries/:id", async (req, res) => { router.get("/api/v1/countries/:id", async (req, res) => {
const id = sqlstring.escape(req.params.id); const id = sqlSanitzer(req.params.id);
res.json(await getCountryById(dbConn, id)) res.json(await getCountryById(dbConn, id))
}); });
return router; return router;

View File

@ -1,8 +1,13 @@
const router = require("express").Router() const router = require("express").Router()
// Models
const getPlace = require("../models/getPlace.js") const getPlace = require("../models/getPlace.js")
const getPlaceNearby = require("../models/getPlaceNearby.js") const getPlaceNearby = require("../models/getPlaceNearby.js")
const getPlacePhoto = require("../models/getPlacePhoto.js") const getPlacePhoto = require("../models/getPlacePhoto.js")
// Utils
const sqlSanitzer = require("../util/sqlstring_sanitizer.js")
module.exports = dbConn => { module.exports = dbConn => {
router.get("/api/v1/place", async (req, res) => { router.get("/api/v1/place", async (req, res) => {
const place = await getPlace(req.query.q) const place = await getPlace(req.query.q)
@ -10,14 +15,14 @@ module.exports = dbConn => {
}); });
router.get("/api/v1/place/nearby", async (req, res) => { router.get("/api/v1/place/nearby", async (req, res) => {
const lat = sqlstring.escape(req.query.lat) const lat = req.query.lat
const lng = sqlstring.escape(req.query.lng) const lng = req.query.lng
const place = await getPlaceNearby(lat, lng) const place = await getPlaceNearby(lat, lng)
res.json(place) res.json(place)
}); });
router.get("/api/v1/place/photo", async (req, res) => { router.get("/api/v1/place/photo", async (req, res) => {
const photoref = sqlstring.escape(req.query.photoref) const photoref = req.query.photoref
const photo = await getPlacePhoto(photoref) const photo = await getPlacePhoto(photoref)
res.json(photo) res.json(photo)
}); });

View File

@ -1,17 +1,21 @@
const router = require("express").Router(); const router = require("express").Router();
// Models
const getRegions = require("../models/getRegions.js"); const getRegions = require("../models/getRegions.js");
const getRegionById = require("../models/getRegionById.js"); const getRegionById = require("../models/getRegionById.js");
const getRegionNearbyById = require("../models/getRegionNearbyById.js") const getRegionNearbyById = require("../models/getRegionNearbyById.js")
// Utils
const path = require("path"); const path = require("path");
const fs = require("fs"); const fs = require("fs");
const _ = require('lodash') const _ = require('lodash')
const sqlstring = require("sqlstring") const sqlSanitzer = require("../util/sqlstring_sanitizer.js")
module.exports = dbConn => { module.exports = dbConn => {
router.get("/api/v1/regions", async (req, res) => { router.get("/api/v1/regions", async (req, res) => {
const data = await getRegions(dbConn) const data = await getRegions(dbConn)
if (req.query.randomize) { if (req.query.randomize) {
const randomize = sqlstring.escape(req.query.randomize) const randomize = sqlSanitzer(req.query.randomize)
res.json(_.sampleSize(data, randomize)) res.json(_.sampleSize(data, randomize))
} else { } else {
res.json(data); res.json(data);
@ -19,7 +23,9 @@ module.exports = dbConn => {
}); });
router.get("/api/v1/regions/:id", async (req, res) => { router.get("/api/v1/regions/:id", async (req, res) => {
const id = sqlstring.escape(req.params.id); console.log(typeof req.params.id)
const id = sqlSanitzer(req.params.id);
console.log(id)
res.json(await getRegionById(dbConn, id)) res.json(await getRegionById(dbConn, id))
}); });
@ -32,7 +38,7 @@ module.exports = dbConn => {
}) })
router.get("/api/v1/regions/:id/nearby", async (req,res) => { router.get("/api/v1/regions/:id/nearby", async (req,res) => {
const id = sqlstring.escape(req.params.id); const id = sqlSanitzer(req.params.id);
res.json(await getRegionNearbyById(dbConn,id)) res.json(await getRegionNearbyById(dbConn,id))
}); });
return router; return router;

View File

@ -1,14 +1,17 @@
const router = require("express").Router(); const router = require("express").Router();
const _ = require('lodash')
// Models
const getRegions = require('../models/getRegions.js');
const getSearchPresets = require("../models/getSearchPresets.js"); const getSearchPresets = require("../models/getSearchPresets.js");
// Utils
const _ = require('lodash')
const base64 = require("../util/base64.js") const base64 = require("../util/base64.js")
const sas = require("../util/scoreAndSearch.js"); const sas = require("../util/scoreAndSearch.js");
const oldToNewQuerySyntax = require("../util/oldToNewQuerySyntax.js") const oldToNewQuerySyntax = require("../util/oldToNewQuerySyntax.js")
const getRegions = require('../models/getRegions.js');
const { allTagsWithValues, getUniqueTags } = require("../models/getTags.js"); const { allTagsWithValues, getUniqueTags } = require("../models/getTags.js");
const { getClimateMinMax } = require("../util/getClimateMinMax.js"); const { getClimateMinMax } = require("../util/getClimateMinMax.js");
module.exports = dbConn => { module.exports = dbConn => {
router.get("/api/v1/search", searchHandler(dbConn)); router.get("/api/v1/search", searchHandler(dbConn));
router.get("/api/v1/search/presets", presetHandler(dbConn)); router.get("/api/v1/search/presets", presetHandler(dbConn));

View File

@ -1,9 +1,13 @@
const router = require("express").Router(); const router = require("express").Router();
// Models
const handleUpdateRegionNearby = require("../models/handleUpdateRegionNearby.js") const handleUpdateRegionNearby = require("../models/handleUpdateRegionNearby.js")
const handleUpdateRegionNearbyById = require("../models/handleUpdateRegionNearbyById.js") const handleUpdateRegionNearbyById = require("../models/handleUpdateRegionNearbyById.js")
const handleUpdateRegionNearbyImgUrl = require("../models/handleUpdateRegionNearbyImgUrl.js") const handleUpdateRegionNearbyImgUrl = require("../models/handleUpdateRegionNearbyImgUrl.js")
const handleUpdateRegionNearbyImgUrlById = require("../models/handleUpdateRegionNearbyImgUrlById.js") const handleUpdateRegionNearbyImgUrlById = require("../models/handleUpdateRegionNearbyImgUrlById.js")
const sqlstring = require("sqlstring")
// Utils
const sqlSanitzer = require("../util/sqlstring_sanitizer.js")
module.exports = dbConn => { module.exports = dbConn => {
router.patch("/api/v1/update/regions/all/nearby", async (req, res) => { router.patch("/api/v1/update/regions/all/nearby", async (req, res) => {
@ -15,7 +19,7 @@ module.exports = dbConn => {
}); });
router.patch("/api/v1/update/regions/:id/nearby", async (req, res) => { router.patch("/api/v1/update/regions/:id/nearby", async (req, res) => {
const id = sqlstring.escape(req.params.id); const id = sqlSanitzer(req.params.id);
res.json(await handleUpdateRegionNearbyById(dbConn, id)) res.json(await handleUpdateRegionNearbyById(dbConn, id))
}); });
@ -24,7 +28,7 @@ module.exports = dbConn => {
}); });
router.patch("/api/v1/update/regions/:id/nearby/imgurl", async (req, res) => { router.patch("/api/v1/update/regions/:id/nearby/imgurl", async (req, res) => {
const id = sqlstring.escape(req.params.id); const id = sqlSanitzer(req.params.id);
res.json(await handleUpdateRegionNearbyImgUrlById(dbConn, id)) res.json(await handleUpdateRegionNearbyImgUrlById(dbConn, id))
}); });

View File

@ -0,0 +1,9 @@
const sqlstring = require("sqlstring")
module.exports = (val) => {
if(!isNaN(val)) {
return val
} else {
return sqlstring.escape(val)
}
};