added playtimer ticket api

This commit is contained in:
2025-06-20 17:07:53 +02:00
parent 5d33d2aff7
commit 9ef4c2e96b

View File

@ -6,6 +6,7 @@ import eu.mhsl.craftattack.spawn.core.Main;
import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.Teams;
import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.VaroTeam;
import org.jetbrains.annotations.NotNull;
@ -19,6 +20,7 @@ import java.nio.file.Paths;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
public class PlayTimer extends Appliance {
public static final int PLAYTIME_MINUTES = 30;
@ -85,6 +87,14 @@ public class PlayTimer extends Appliance {
@Override
public void httpApi(HttpServer.ApiBuilder apiBuilder) {
record Ticket(String team, int tickets) {}
apiBuilder.get("tickets", request -> {
String teamName = request.queryParamsSafe("team");
VaroTeam team = Main.instance().getAppliance(Teams.class).findTeamByName(teamName);
if(team == null) throw new NoSuchElementException("Team not found!");
return new Ticket(team.name, this.getTickets(team));
});
}
@Override