Achivements abends um 19 uhr
This commit is contained in:
@@ -890,7 +890,7 @@ router.post('/v1/private/create-time', requireApiKey, async (req, res) => {
|
||||
|
||||
// Achievement-Überprüfung nach Zeit-Eingabe
|
||||
try {
|
||||
await pool.query('SELECT check_all_achievements($1)', [player_id]);
|
||||
await pool.query('SELECT check_immediate_achievements($1)', [player_id]);
|
||||
console.log(`✅ Achievement-Check für Spieler ${player_id} ausgeführt`);
|
||||
} catch (achievementError) {
|
||||
console.error('Fehler bei Achievement-Check:', achievementError);
|
||||
@@ -1027,25 +1027,6 @@ router.post('/v1/private/users/find', requireApiKey, async (req, res) => {
|
||||
// RFID LINKING & USER MANAGEMENT ENDPOINTS (No API Key required for dashboard)
|
||||
// ============================================================================
|
||||
|
||||
// Get all players for RFID linking (no auth required for dashboard)
|
||||
router.get('/v1/public/players', async (req, res) => {
|
||||
try {
|
||||
const result = await pool.query(
|
||||
`SELECT id, firstname, lastname, birthdate, rfiduid, created_at
|
||||
FROM players
|
||||
ORDER BY created_at DESC`
|
||||
);
|
||||
|
||||
res.json(result.rows);
|
||||
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Abrufen der Spieler:', error);
|
||||
res.status(500).json({
|
||||
success: false,
|
||||
message: 'Fehler beim Abrufen der Spieler'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Create new player with optional Supabase user linking (no auth required for dashboard)
|
||||
router.post('/v1/public/players', async (req, res) => {
|
||||
@@ -2180,7 +2161,7 @@ router.post('/v1/admin/runs', requireAdminAuth, async (req, res) => {
|
||||
|
||||
// Achievement-Überprüfung nach Zeit-Eingabe
|
||||
try {
|
||||
await pool.query('SELECT check_all_achievements($1)', [player_id]);
|
||||
await pool.query('SELECT check_immediate_achievements($1)', [player_id]);
|
||||
console.log(`✅ Achievement-Check für Spieler ${player_id} ausgeführt`);
|
||||
} catch (achievementError) {
|
||||
console.error('Fehler bei Achievement-Check:', achievementError);
|
||||
@@ -2786,6 +2767,27 @@ router.post('/achievements/daily-check', async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// Run best-time achievement check (for manual testing or cron jobs)
|
||||
router.post('/achievements/best-time-check', async (req, res) => {
|
||||
try {
|
||||
// This endpoint runs the best-time achievement check
|
||||
const { runBestTimeAchievements } = require('../scripts/best_time_achievements');
|
||||
|
||||
await runBestTimeAchievements();
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
message: 'Best-Time Achievement-Überprüfung abgeschlossen'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error running best-time achievement check:', error);
|
||||
res.status(500).json({
|
||||
success: false,
|
||||
message: 'Fehler bei der Best-Time Achievement-Überprüfung'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Get achievement leaderboard
|
||||
router.get('/achievements/leaderboard', async (req, res) => {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user