fix Analyse

This commit is contained in:
nadja
2026-08-26 17:26:23 +02:00
parent 51098328fa
commit 8abb00c206
4 changed files with 34 additions and 8 deletions

View File

@@ -26,6 +26,7 @@ function saveDB(data) {
}
let db = loadDB();
let dirty = false;
function nextId() {
db._counter = (db._counter || 0) + 1;
@@ -45,10 +46,20 @@ export function trackEvent(type, userId, metadata = {}) {
...metadata,
};
db.events.push(event);
saveDB(db);
dirty = true;
return event;
}
function flushToDisk() {
if (!dirty) return;
dirty = false;
saveDB(db);
}
setInterval(flushToDisk, 5000);
process.on('SIGTERM', () => { flushToDisk(); process.exit(0); });
process.on('SIGINT', () => { flushToDisk(); process.exit(0); });
export function getEvents({ from, to, type, user_id, limit = 100 } = {}) {
let results = [...db.events];

View File

@@ -40,6 +40,20 @@ app.use('/api/auth', authRouter);
app.use('/api/recipes', recipesRouter);
app.use('/api/analytics', authMiddleware, adminMiddleware, analyticsRouter);
app.use((err, req, res, next) => {
console.error('Server Fehler:', err.message);
if (!res.headersSent) {
res.status(500).json({ error: 'Interner Serverfehler' });
}
});
process.on('uncaughtException', (err) => {
console.error('Uncaught Exception:', err.message);
});
process.on('unhandledRejection', (err) => {
console.error('Unhandled Rejection:', err?.message || err);
});
const adminUser = process.env.ADMIN_USER || 'admin';
const adminPass = process.env.ADMIN_PASS || 'admin123';