complete new audit system
This commit is contained in:
+36
-2
@@ -32,12 +32,17 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getAllSettings = getAllSettings;
|
||||
exports.getPublicSettings = getPublicSettings;
|
||||
exports.updateSetting = updateSetting;
|
||||
exports.updateSettings = updateSettings;
|
||||
const prisma_js_1 = __importDefault(require("../lib/prisma.js"));
|
||||
const appSettingService = __importStar(require("../services/appSetting.service.js"));
|
||||
const audit_service_js_1 = require("../services/audit.service.js");
|
||||
async function getAllSettings(req, res) {
|
||||
try {
|
||||
const settings = await appSettingService.getAllSettings();
|
||||
@@ -73,7 +78,20 @@ async function updateSetting(req, res) {
|
||||
});
|
||||
return;
|
||||
}
|
||||
await appSettingService.setSetting(key, String(value));
|
||||
// Vorherigen Stand laden für Audit
|
||||
const before = await prisma_js_1.default.appSetting.findUnique({ where: { key } });
|
||||
const oldValue = before?.value ?? '-';
|
||||
const newValue = String(value);
|
||||
await appSettingService.setSetting(key, newValue);
|
||||
const label = oldValue !== newValue
|
||||
? `Einstellung "${key}" geändert: ${oldValue} → ${newValue}`
|
||||
: `Einstellung "${key}" geändert`;
|
||||
await (0, audit_service_js_1.logChange)({
|
||||
req, action: 'UPDATE', resourceType: 'AppSetting',
|
||||
resourceId: key,
|
||||
label,
|
||||
details: oldValue !== newValue ? { [key]: { von: oldValue, nach: newValue } } : undefined,
|
||||
});
|
||||
res.json({ success: true, message: 'Einstellung gespeichert' });
|
||||
}
|
||||
catch (error) {
|
||||
@@ -93,9 +111,25 @@ async function updateSettings(req, res) {
|
||||
});
|
||||
return;
|
||||
}
|
||||
// Vorherige Werte laden für Audit
|
||||
const changes = {};
|
||||
for (const [key, value] of Object.entries(settings)) {
|
||||
await appSettingService.setSetting(key, String(value));
|
||||
const before = await prisma_js_1.default.appSetting.findUnique({ where: { key } });
|
||||
const oldValue = before?.value ?? '-';
|
||||
const newValue = String(value);
|
||||
if (oldValue !== newValue) {
|
||||
changes[key] = { von: oldValue, nach: newValue };
|
||||
}
|
||||
await appSettingService.setSetting(key, newValue);
|
||||
}
|
||||
const changeList = Object.entries(changes).map(([k, c]) => `${k}: ${c.von} → ${c.nach}`).join(', ');
|
||||
await (0, audit_service_js_1.logChange)({
|
||||
req, action: 'UPDATE', resourceType: 'AppSetting',
|
||||
label: changeList
|
||||
? `Einstellungen aktualisiert: ${changeList}`
|
||||
: `Einstellungen aktualisiert (${Object.keys(settings).join(', ')})`,
|
||||
details: Object.keys(changes).length > 0 ? changes : undefined,
|
||||
});
|
||||
res.json({ success: true, message: 'Einstellungen gespeichert' });
|
||||
}
|
||||
catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user