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:
32
backend/controllers/minigamesController.js
Normal file
32
backend/controllers/minigamesController.js
Normal 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();
|
||||
Reference in New Issue
Block a user