From 8390a25c5099002a22067992f092b94c5c3465d3 Mon Sep 17 00:00:00 2001 From: Davide Passoni Date: Tue, 20 Feb 2024 11:38:02 +0100 Subject: [PATCH] Fixed error in elevation routes Was hardcoded to load relative config file --- frontend/server/app.js | 2 +- frontend/server/routes/api/elevation.js | 48 +++++++++++++------------ 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/frontend/server/app.js b/frontend/server/app.js index 7fbdf87a..1f43110f 100644 --- a/frontend/server/app.js +++ b/frontend/server/app.js @@ -10,7 +10,7 @@ module.exports = function (configLocation) { /* Default routers */ var atcRouter = require('./routes/api/atc'); var airbasesRouter = require('./routes/api/airbases'); - var elevationRouter = require('./routes/api/elevation'); + var elevationRouter = require('./routes/api/elevation')(configLocation); var databasesRouter = require('./routes/api/databases')(path.join(path.dirname(configLocation), "..", "Mods", "Services", "Olympus", "databases")); var indexRouter = require('./routes/index'); var uikitRouter = require('./routes/uikit'); diff --git a/frontend/server/routes/api/elevation.js b/frontend/server/routes/api/elevation.js index 14990bb1..f2450065 100644 --- a/frontend/server/routes/api/elevation.js +++ b/frontend/server/routes/api/elevation.js @@ -1,28 +1,30 @@ -const express = require('express'); -var fs = require('fs'); -const router = express.Router(); -const TileSet = require('srtm-elevation').TileSet; -const SRTMElevationDownloader = require('srtm-elevation').SRTMElevationDownloader; +module.exports = function (configLocation) { + const express = require('express'); + var fs = require('fs'); + const router = express.Router(); + const TileSet = require('srtm-elevation').TileSet; + const SRTMElevationDownloader = require('srtm-elevation').SRTMElevationDownloader; -let rawdata = fs.readFileSync('../../olympus.json'); -let config = JSON.parse(rawdata); -var tileset = null; + let rawdata = fs.readFileSync(configLocation); + let config = JSON.parse(rawdata); + var tileset = null; -if (config["frontend"] === undefined || config["frontend"]["elevationProvider"] === undefined) - tileset = new TileSet('./hgt'); -else - tileset = new TileSet('./hgt', {downloader: new SRTMElevationDownloader('./hgt', config["frontend"]["elevationProvider"])}); + if (config["frontend"] === undefined || config["frontend"]["elevationProvider"] === undefined) + tileset = new TileSet('./hgt'); + else + tileset = new TileSet('./hgt', {downloader: new SRTMElevationDownloader('./hgt', config["frontend"]["elevationProvider"])}); -router.get( "/:lat/:lng", ( req, res ) => { - tileset.getElevation([req.params.lat, req.params.lng], function(err, elevation) { - if (err) { - console.log('getElevation failed: ' + err.message); - res.send("n/a"); - } else { - res.send(String(elevation)); - } + router.get( "/:lat/:lng", ( req, res ) => { + tileset.getElevation([req.params.lat, req.params.lng], function(err, elevation) { + if (err) { + console.log('getElevation failed: ' + err.message); + res.send("n/a"); + } else { + res.send(String(elevation)); + } + }); + }); - -}); -module.exports = router; \ No newline at end of file + return router; +} \ No newline at end of file