API-fasad som agerar front mot övriga tjänster i systemet. Denna fasad används av cag-rms-client-webpack.
Finns på <host:port>/swagger-ui.html
, t.ex http://localhost:10580.
Denna tjänst tillhandahåller en API-fasad gentemot övriga tjänster i back-end.
API:et består av ett REST-gränssnitt samt en websocket-ändpunkt via vilken händelser kan tas emot.
Dessutom tillhandahåller den tjänsten att skicka (broadcast) händelse-meddelanden till alla cag-rms-client-instanser som är uppkopplade.
Registrera en användare genom att vidarebefordra till <user-manager>/users
.
Ett JSON-objekt motsvarande java-klassen User.
Logga in användare genom att vidarebefordra till <user-manager>/login
.
Ett JSON-objekt motsvarande java-klassen User.
Logga ut användare genom att vidarebefordra till <user-manager>/logout?token=<värde från X-AuthToken header>
.
X-AuthToken: sessionstoken för inloggad användare.
Hämta resultattavla genom att vidarebefordra till <leaderboard>/results
.
En array med JSON-objekt motsvarande java-klassen UserResult.
Hämta kön genom att vidarebefordra till (GET) <race-administrator>/userqueue
.
En array med JSON-objekt motsvarande java-klassen User.
Anmäl genom att vidarebefordra till (POST) <race-administrator>/userqueue
.
Ett JSON-objekt motsvarande java-klassen User.
Avanmäl genom att vidarebefordra till (DELETE) <race-administrator>/userqueue
.
Ett JSON-objekt motsvarande java-klassen User.
Vidarebefordra till (GET) <race-administrator>/currentrace
.
Ett JSON-objekt motsvarande java-klassen RaceStatus.
Läsa upp status för senast avslutade lopp.
Ett JSON-objekt motsvarande java-klassen RaceStatus.
Avbryt genom att vidarebefordra till <race-administrator>/reset-race
.
Denna är implementerad med en websocket-ändpunkt med URI:n: ws://<host>/eventchannel
.
Händelser som tas emot är JSON-objekt motsvarande java-klassen Event.
Fältet Event.data
innehåller olika information beroende på Event.eventType
.
Följande händelser kan komma via denna kanal:
Event.eventType=CURRENT_RACE_STATUS
signalerar uppdatering av status för lopp;Event.data
är en RaceStatusEvent.eventType=QUEUE_UPDATED
signalerar uppdatering av kön med anmälda tävlande;Event.data
är en UserEvent.eventType=NEW_RESULT
signalerar uppdatering av resultattavla;Event.data
är en UserResult
Detta är ett internt API (det exponeras alltså inte publikt) för en enkel händelsebuss som skickar händelseobjekt till alla uppkopplade cag-rms-client-webpack-instanser.
Denna används f.n endast av race-administrator för att vidarebefordra händelser som skall skickas till klienten.
Ett godtyckligt JSON-objekt som måste innehålla fältet eventType, t.ex
{
"eventType":"MyEvent",
"someStuff": "XYZ"
}