Release v2.11.1
This commit is contained in:
+25
-2
@@ -15,7 +15,9 @@ const AUDIT_EVENT_CATEGORIES = Object.freeze({
|
||||
CANVAS_SIZES: 'canvas-sizes',
|
||||
API_SOURCES: 'api-sources',
|
||||
RSS_FEEDS: 'rss-feeds',
|
||||
TIMETABLES: 'timetables'
|
||||
TIMETABLES: 'timetables',
|
||||
WEATHER: 'weather',
|
||||
SCREEN_CONTROLS: 'screen-controls'
|
||||
});
|
||||
const AUDIT_CATEGORY_KEYS = Object.freeze(Object.values(AUDIT_EVENT_CATEGORIES));
|
||||
const AUDIT_CATEGORY_LABELS = Object.freeze({
|
||||
@@ -33,7 +35,18 @@ const AUDIT_CATEGORY_LABELS = Object.freeze({
|
||||
'canvas-sizes': 'Canvas Sizes',
|
||||
'api-sources': 'API Sources',
|
||||
'rss-feeds': 'RSS Feeds',
|
||||
timetables: 'Timetables'
|
||||
timetables: 'Timetables',
|
||||
weather: 'Weather',
|
||||
'screen-controls': 'Screen Controls'
|
||||
});
|
||||
const SCREEN_CONTROL_COMMAND_KEYS = Object.freeze(['pause', 'blackout', 'reload', 'navigation', 'moveclient', 'setclientname']);
|
||||
const SCREEN_CONTROL_COMMAND_LABELS = Object.freeze({
|
||||
pause: 'Pause / Resume',
|
||||
blackout: 'Blackout / Restore',
|
||||
reload: 'Reload',
|
||||
navigation: 'Forward / Back',
|
||||
moveclient: 'Move client',
|
||||
setclientname: 'Rename client'
|
||||
});
|
||||
const { fetchAppSettings } = require('./app-settings');
|
||||
|
||||
@@ -101,6 +114,14 @@ async function recordRequestAuditEvent(pool, req, event) {
|
||||
if (!settings['audit.enabled'] || !enabledCategories.includes(category)) {
|
||||
return;
|
||||
}
|
||||
if (category === 'screen-controls') {
|
||||
const command = String(event && event.eventType || '').replace(/^screen-control\./, '').trim().toLowerCase();
|
||||
const commandGroup = command === 'previous' || command === 'next' ? 'navigation' : command;
|
||||
const enabledCommands = Array.isArray(settings['audit.screen_control_commands']) ? settings['audit.screen_control_commands'] : [];
|
||||
if (!enabledCommands.includes(commandGroup)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
const metadata = settings['audit.include_request_metadata'] ? getRequestMetadata(req) : {};
|
||||
await recordAuditEvent(pool, Object.assign({}, event, metadata));
|
||||
} catch (error) {
|
||||
@@ -113,6 +134,8 @@ module.exports = {
|
||||
AUDIT_EVENT_CATEGORIES,
|
||||
AUDIT_CATEGORY_KEYS,
|
||||
AUDIT_CATEGORY_LABELS,
|
||||
SCREEN_CONTROL_COMMAND_KEYS,
|
||||
SCREEN_CONTROL_COMMAND_LABELS,
|
||||
getRequestMetadata,
|
||||
buildAuditChanges,
|
||||
recordAuditEvent,
|
||||
|
||||
Reference in New Issue
Block a user