Diverse Fixes nach refactoring

This commit is contained in:
2025-09-16 01:31:22 +02:00
parent 5ca7b0b19c
commit 10a150cb39
8 changed files with 155 additions and 15 deletions

View File

@@ -3457,11 +3457,11 @@ router.get('/achievements/player/:playerId', async (req, res) => {
MAX(pa.earned_at) as earned_at,
COUNT(pa.id) as completion_count
FROM achievements a
LEFT JOIN player_achievements pa ON a.id = pa.achievement_id AND pa.player_id = $1 AND pa.is_completed = true
LEFT JOIN player_achievements pa ON a.id = pa.achievement_id AND pa.player_id = $1
WHERE a.is_active = true
GROUP BY a.id, a.name, a.name_en, a.description, a.description_en, a.category, a.icon, a.points
ORDER BY
is_completed DESC,
COALESCE(COUNT(pa.id) > 0, false) DESC,
a.category,
a.points DESC
`, [playerId]);
@@ -3549,8 +3549,11 @@ router.post('/achievements/check/:playerId', async (req, res) => {
});
}
// Run achievement check
await pool.query('SELECT check_all_achievements($1)', [playerId]);
// Run achievement check using AchievementSystem
const AchievementSystem = require('../lib/achievementSystem');
const achievementSystem = new AchievementSystem();
await achievementSystem.loadAchievements();
const newAchievementsFromCheck = await achievementSystem.checkAllAchievements(playerId);
// Get newly earned achievements
const newAchievements = await pool.query(`