31 lines
744 B
JavaScript
31 lines
744 B
JavaScript
const express = require('express');
|
|
const ews = require('express-ws');
|
|
const db = global.db;
|
|
const router = express.Router();
|
|
|
|
router.use(ews(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) => {
|
|
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; |