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