complete new audit system

This commit is contained in:
2026-03-21 18:23:54 +01:00
parent 4f359df161
commit 219e1930f7
159 changed files with 2841 additions and 736 deletions
@@ -1,5 +1,6 @@
import { Request, Response } from 'express';
import * as backupService from '../services/backup.service.js';
import { logChange } from '../services/audit.service.js';
/**
* Liste aller Backups abrufen
@@ -23,6 +24,10 @@ export async function createBackup(req: Request, res: Response) {
const result = await backupService.createBackup();
if (result.success) {
await logChange({
req, action: 'CREATE', resourceType: 'Backup',
label: `Backup ${result.backupName} erstellt`,
});
res.json({ data: { backupName: result.backupName }, message: 'Backup erfolgreich erstellt' });
} else {
res.status(500).json({ error: 'Backup fehlgeschlagen', details: result.error });
@@ -47,6 +52,10 @@ export async function restoreBackup(req: Request, res: Response) {
const result = await backupService.restoreBackup(name);
if (result.success) {
await logChange({
req, action: 'UPDATE', resourceType: 'Backup',
label: `Backup ${name} wiederhergestellt`,
});
res.json({
data: {
restoredRecords: result.restoredRecords,
@@ -77,6 +86,10 @@ export async function deleteBackup(req: Request, res: Response) {
const result = await backupService.deleteBackup(name);
if (result.success) {
await logChange({
req, action: 'DELETE', resourceType: 'Backup',
label: `Backup ${name} gelöscht`,
});
res.json({ message: 'Backup gelöscht' });
} else {
res.status(500).json({ error: 'Löschen fehlgeschlagen', details: result.error });
@@ -157,6 +170,10 @@ export async function factoryReset(req: Request, res: Response) {
const result = await backupService.factoryReset();
if (result.success) {
await logChange({
req, action: 'DELETE', resourceType: 'System',
label: `Werkseinstellungen wiederhergestellt`,
});
res.json({
message: 'Werkseinstellungen wiederhergestellt. Bitte melden Sie sich mit admin@admin.com / admin an.',
});