From 844f7aa6991ec373d71ca89ee3287f3ef7ab134b Mon Sep 17 00:00:00 2001 From: Claude Brisson Date: Thu, 21 Dec 2023 22:33:04 +0100 Subject: [PATCH] Change pairing API GET call --- .../kotlin/org/jeudego/pairgoth/api/PairingHandler.kt | 9 ++++++++- api-webapp/src/test/kotlin/BasicTests.kt | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/api/PairingHandler.kt b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/api/PairingHandler.kt index e0f6ea6..5c3e5dd 100644 --- a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/api/PairingHandler.kt +++ b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/api/PairingHandler.kt @@ -20,7 +20,14 @@ object PairingHandler: PairgothApiHandler { val playing = tournament.games(round).values.flatMap { listOf(it.black, it.white) }.toSet() - return tournament.pairables.values.filter { !it.skip.contains(round) && !playing.contains(it.id) }.sortedByDescending { it.rating }.map { it.id }.toJsonArray() + val unpairables = tournament.pairables.values.filter { it.skip.contains(round) }.sortedByDescending { it.rating }.map { it.id }.toJsonArray() + val pairables = tournament.pairables.values.filter { !it.skip.contains(round) && !playing.contains(it.id) }.sortedByDescending { it.rating }.map { it.id }.toJsonArray() + val games = tournament.games(round).values + return Json.Object( + "games" to games.map { it.toJson() }.toCollection(Json.MutableArray()), + "pairables" to pairables, + "unpairables" to unpairables + ) } override fun post(request: HttpServletRequest): Json { diff --git a/api-webapp/src/test/kotlin/BasicTests.kt b/api-webapp/src/test/kotlin/BasicTests.kt index e51300b..55f0244 100644 --- a/api-webapp/src/test/kotlin/BasicTests.kt +++ b/api-webapp/src/test/kotlin/BasicTests.kt @@ -155,7 +155,7 @@ class BasicTests: TestBase() { """[{"id":$aTournamentGameID,"w":$anotherPlayerID,"b":$aPlayerID,"h":0,"r":"?","dd":0}]""" ) assertTrue(possibleResults.contains(games.toString()), "pairing differs") - games = TestAPI.get("/api/tour/$aTournamentID/res/1").asArray() + games = TestAPI.get("/api/tour/$aTournamentID/res/1").asObject().getArray("games")!! assertTrue(possibleResults.contains(games.toString()), "results differs") val empty = TestAPI.get("/api/tour/$aTournamentID/pair/1").asArray() assertEquals("[]", empty.toString(), "no more pairables for round 1")