LouisLam
3 years ago
4 changed files with 63 additions and 47 deletions
@ -0,0 +1,50 @@ |
|||||
|
let express = require("express"); |
||||
|
const { allowDevAllOrigin, getSettings } = require("../util-server"); |
||||
|
const { R } = require("redbean-node"); |
||||
|
let router = express.Router(); |
||||
|
|
||||
|
// Status Page Config
|
||||
|
router.get("/api/status-page/config", async (_request, response) => { |
||||
|
allowDevAllOrigin(response); |
||||
|
let config = getSettings("statusPage"); |
||||
|
|
||||
|
if (! config.statusPageTheme) { |
||||
|
config.statusPageTheme = "light"; |
||||
|
} |
||||
|
|
||||
|
response.json(config); |
||||
|
}); |
||||
|
|
||||
|
// Status Page - Monitor List
|
||||
|
router.get("/api/status-page/monitor-list", async (_request, response) => { |
||||
|
allowDevAllOrigin(response); |
||||
|
|
||||
|
const monitorList = {}; |
||||
|
let list = await R.find("monitor", " public = 1 ORDER BY weight DESC, name ", [ |
||||
|
]); |
||||
|
|
||||
|
for (let monitor of list) { |
||||
|
monitorList[monitor.id] = await monitor.toJSON(); |
||||
|
} |
||||
|
|
||||
|
response.json(monitorList); |
||||
|
}); |
||||
|
|
||||
|
// Status Page Polling Data
|
||||
|
router.get("/api/status-page/heartbeat", async (_request, response) => { |
||||
|
allowDevAllOrigin(response); |
||||
|
|
||||
|
const monitorList = {}; |
||||
|
let list = await R.find("", " ", [ |
||||
|
]) |
||||
|
|
||||
|
for (let monitor of list) { |
||||
|
monitorList[monitor.id] = await monitor.toJSON(); |
||||
|
} |
||||
|
|
||||
|
response.json({ |
||||
|
monitorList: monitorList, |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
module.exports = router; |
Loading…
Reference in new issue