Files
noise/routes/api.js
T
admin 22a6b9ab2c Prepare charts moved from api server to here
route/api.js
   - new distriputer fpr chart preparation

appp.js
   - removed unnecessary calls

public/javascripts/map.js
   - changed /char/... call to /api/... call

charts/preparecharts
   - added

charts/utilities.js
   - added

public/javascripts/showcharts.js
   - changed /char/... call to /api/... call

routes/users.js
   - deleted
2023-04-07 15:23:16 +02:00

55 lines
1.4 KiB
JavaScript

import express from 'express'
import pkg from '../package.json' assert { type: "json" }
import axios from 'axios'
import * as prep from '../charts/preparecharts.js'
const router = express.Router()
const { name, version, date } = pkg
const disttable = [
{type: 'live', func: prep.liveData },
{type: 'havg', func: prep.havgData },
{type: 'davg', func: prep.davgData },
{type: 'daynight', func: prep.dayNightData },
{type: 'lden', func: prep.ldenData },
{type: 'map', func: prep.mapData },
]
let APIHOST = process.env.APIHOST || 'http://localhost:3004'
/* GET home page. */
router.get('/:cmd', async function(req, res, next) {
const cmd = req.params.cmd
let url = APIHOST
if(isNaN(cmd)) {
url += req.originalUrl
} else {
// cmd is a number ==> sid
url += `getsensordata?sid=${cmd}`
}
try {
const response = await axios(encodeURI(url));
if (response.status !== 200) {
res.json({err: `Error from servercall: status = ${response.status}`})
}
const options = response.data.options
for(let x of disttable) {
if (x.type === options.data) {
let ret = x.func(options, response.data.values)
res.json(ret)
break;
}
}
} catch (e) {
res.json({err: `Error from servercall: ${e}`})
}
})
export default router
// ToDo
// Hier : getsensordata und getmapdata unterbringen und damit den externen Server aufrufen