uhppoted-db-web/routes/event-logs.js
2025-08-31 23:00:19 -06:00

30 lines
841 B
JavaScript

const express = require('express');
const log = require("../logger.js");
const db = global.db;
const router = express.Router();
const expressWs = require('express-ws')(router);
// GET /login
router.get('/', async (req, res) => {
const logs = await db.query('SELECT * FROM Events ORDER BY EventIndex DESC LIMIT 100');
res.render('event-logs', { logs, user: req.session.user });
});
router.ws('/', (ws, req) => {
log.debug(`Client ${req.sessionID} connected to event logs WebSocket`);
if (!req.session.user) {
ws.send(JSON.stringify({ error: 'Not authenticated' }))
ws.close();
return;
}
if (global.checkACL(req, 'eventLog') == false) {
ws.send(JSON.stringify({ error: 'Not authorized' }))
ws.close();
return;
}
global.dbEvent.on('event', (event) => {
ws.send(JSON.stringify(event));
});
});
module.exports = router;