2 Commits

Author SHA1 Message Date
a8d282ab36 Add Admin Tools - DELETE leaderboard endpoint (76/73+ complete)
- Added DELETE /synergy/leaderboards/{id} to LeaderboardsController
- Allows admins to delete invalid/cheated leaderboard entries
- Returns standard SynergyResponse with success message
- Logs deletion details (player, time) for audit trail
- Optional adminKey parameter for future auth implementation

Server now at 76 endpoints (75 core + 1 admin)

Remaining for full EA parity:
- Social/Friends (8+ endpoints)
- Multiplayer (10+ endpoints)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-23 16:15:00 -08:00
a6167c8249 Complete Records/Leaderboards + Time Trials systems (100%)
RECORDS & LEADERBOARDS (5/5 endpoints - 100%):
- Created LeaderboardsController with 5 endpoints
- GET /synergy/leaderboards/timetrials/{trialId}
- GET /synergy/leaderboards/career/{series}/{event}
- GET /synergy/leaderboards/global/top100
- GET /synergy/leaderboards/player/{synergyId}/records
- GET /synergy/leaderboards/compare/{synergyId1}/{synergyId2}

Added LeaderboardEntry and PersonalRecord models and database tables.
Migration applied: AddLeaderboardsAndRecords

Updated RewardsController.SubmitTimeTrial to track personal bests,
update leaderboards, and award 50 gold bonus for improvements.

Updated ProgressionController.CompleteCareerEvent similarly for
career event personal records.

TIME TRIALS (6/6 endpoints - 100%):
- GET /synergy/rewards/timetrials - List with time remaining
- GET /synergy/rewards/timetrials/{id} - Details with stats
- POST /synergy/rewards/timetrials/{id}/submit - Submit with PB tracking
- GET /synergy/rewards/timetrials/player/{synergyId}/results - History
- POST /synergy/rewards/timetrials/{id}/claim - Claim bonuses
- GET /synergy/leaderboards/timetrials/{id} - Leaderboards (above)

Added navigation properties to TimeTrialResult for easier queries.

Server progress: 66/73 endpoints (90%)
Two complete systems: Records/Leaderboards + Time Trials

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-22 17:49:23 -08:00