kopia lustrzana https://github.com/manuelkasper/sotlas-api
Add endpoint to obtain historic solar data
rodzic
ea3e3fc456
commit
c79b215b2d
60
solardata.js
60
solardata.js
|
@ -7,28 +7,6 @@ const db = require('./db')
|
|||
let router = express.Router()
|
||||
module.exports = router
|
||||
|
||||
router.get('/:date/:hour',
|
||||
check("date").matches(/^\d\d\d\d-\d\d-\d\d$/),
|
||||
check("hour").isInt({gt: -1, lt: 24}),
|
||||
(req, res) => {
|
||||
|
||||
db.getDb().collection('solardata').findOne({date: req.params.date, hour: req.params.hour}, (err, solardata) => {
|
||||
if (err) {
|
||||
return res.status(500).end()
|
||||
}
|
||||
|
||||
if (!solardata) {
|
||||
return res.status(404).end()
|
||||
}
|
||||
|
||||
delete solardata._id
|
||||
delete solardata.date
|
||||
delete solardata.hour
|
||||
|
||||
return res.json(solardata)
|
||||
})
|
||||
})
|
||||
|
||||
router.get('/latest', (req, res) => {
|
||||
db.getDb().collection('solardata').find().sort({date: -1, hour: -1}).limit(1).toArray((err, solardataArr) => {
|
||||
if (err) {
|
||||
|
@ -55,6 +33,44 @@ router.get('/latest', (req, res) => {
|
|||
})
|
||||
})
|
||||
|
||||
router.get('/history/:hours',
|
||||
check("hours").isInt({gt: 0, lt: 1000}),
|
||||
(req, res) => {
|
||||
db.getDb().collection('solardata').find().sort({date: -1, hour: -1}).limit(parseInt(req.params.hours)).toArray((err, solardataArr) => {
|
||||
if (err) {
|
||||
return res.status(500).end()
|
||||
}
|
||||
|
||||
for (let solardata of solardataArr) {
|
||||
delete solardata._id
|
||||
}
|
||||
|
||||
return res.json(solardataArr)
|
||||
})
|
||||
})
|
||||
|
||||
router.get('/:date/:hour',
|
||||
check("date").matches(/^\d\d\d\d-\d\d-\d\d$/),
|
||||
check("hour").isInt({gt: -1, lt: 24}),
|
||||
(req, res) => {
|
||||
|
||||
db.getDb().collection('solardata').findOne({date: req.params.date, hour: req.params.hour}, (err, solardata) => {
|
||||
if (err) {
|
||||
return res.status(500).end()
|
||||
}
|
||||
|
||||
if (!solardata) {
|
||||
return res.status(404).end()
|
||||
}
|
||||
|
||||
delete solardata._id
|
||||
delete solardata.date
|
||||
delete solardata.hour
|
||||
|
||||
return res.json(solardata)
|
||||
})
|
||||
})
|
||||
|
||||
router.post('/:date/:hour',
|
||||
check("date").matches(/^\d\d\d\d-\d\d-\d\d$/),
|
||||
check("hour").isInt({gt: -1, lt: 24}),
|
||||
|
|
Ładowanie…
Reference in New Issue