Bereinigen und Entfernen von nicht mehr benötigten TinyMCE-Dateien und -Plugins; Aktualisierung der Internationalisierung für Deutsch und Englisch in den Falukant- und Navigationsmodulen; Verbesserung der Statusleiste und Router-Implementierung.

This commit is contained in:
Torsten Schulz (local)
2025-08-21 16:10:21 +02:00
parent 53c748a074
commit 3eb7ae4e93
170 changed files with 3850 additions and 7924 deletions

View File

@@ -0,0 +1,32 @@
import MinigamesService from '../services/minigamesService.js';
function extractHashedUserId(req) {
return req.headers?.userid;
}
class MinigamesController {
constructor() {
this.service = MinigamesService;
this.listCampaigns = this._wrap((userId, req) => this.service.listCampaigns());
this.getCampaign = this._wrap((userId, req) => this.service.getCampaign(req.params.code));
this.getProgress = this._wrap((userId, req) => this.service.getProgress(userId, req.params.code));
this.saveProgress = this._wrap((userId, req) => this.service.saveProgress(userId, req.params.code, req.body));
}
_wrap(fn, { successStatus = 200 } = {}) {
return async (req, res) => {
try {
const userId = extractHashedUserId(req);
if (!userId) return res.status(400).json({ error: 'Missing user identifier' });
const result = await fn(userId, req, res);
res.status(successStatus).json(result);
} catch (error) {
console.error('Minigames controller error:', error);
res.status(500).json({ error: error.message || 'Internal error' });
}
};
}
}
export default new MinigamesController();