feat(enakgame): weekly leaderboard
GET /customer/enakgame/leaderboard ranks the customers of an organization by the EnakCoin they won from games in one week, Monday to Sunday in Asia/Jakarta. Only completed, unflagged sessions count, by the week they started; entry cost is not subtracted. Equal totals rank by who reached theirs first, so no two customers share a rank. Optional date (any day of the week, this week by default), game_id and limit (10, at most 100). The response holds the top ranks and, under me, the customer asking wherever they rank. Other customers are shown by a masked name: the first word whole, the others by their first letter; a word with a digit keeps only its first character. The EnakGame web game shows it: integration-enakgame.md §10 (checklist now §11) and RFC §11. The DB test needs TEST_DATABASE_URL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c43baa53e1
commit
3af16a1fbc
@@ -197,6 +197,7 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
|
||||
enakGame.GET("/sessions", r.enakGameCustomerHandler.ListSessions)
|
||||
enakGame.GET("/sessions/:id", r.enakGameCustomerHandler.GetSession)
|
||||
enakGame.POST("/sessions/:id/complete", r.enakGameCustomerHandler.CompleteSession)
|
||||
enakGame.GET("/leaderboard", r.enakGameCustomerHandler.Leaderboard)
|
||||
}
|
||||
|
||||
// Vouchers: what EnakPoint is spent on, whatever it came from (docs/rfc-enakgame.md
|
||||
|
||||
Reference in New Issue
Block a user