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