feat: model scoreboard responses

This commit is contained in:
Alexander Klee 2024-05-29 13:34:23 +02:00
parent 04b70114b7
commit e57112b7c4
5 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,14 @@
package io.gitlab.jfronny.sdom.model.scoreboard
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class ContestState(
val started: String?,
val ended: String?,
val frozen: String?,
val thawed: String?,
val finalized: String?,
@SerialName("end_of_updates") val endOfUpdates: String?,
)

View File

@ -0,0 +1,10 @@
package io.gitlab.jfronny.sdom.model.scoreboard
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class Score(
@SerialName("num_solved") val numSolved: Int,
//not needed here @SerialName("total_time") val totalTime: Int,
)

View File

@ -0,0 +1,13 @@
package io.gitlab.jfronny.sdom.model.scoreboard
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class Scoreboard (
@SerialName("event_id") val eventId: String,
val time: String,
@SerialName("contest_time") val contestTime: String,
val state: ContestState,
val rows: List<ScoreboardRow>,
)

View File

@ -0,0 +1,15 @@
package io.gitlab.jfronny.sdom.model.scoreboard
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class ScoreboardProblem(
val label: String,
@SerialName("problem_id") val problemId: String,
@SerialName("num_judged") val numJudged: Int,
@SerialName("num_pending") val numPending: Int,
val solved: Boolean,
//not needed here val time: Int,
//not needed here @SerialName("first_to_solve") val firstToSolve: Boolean
)

View File

@ -0,0 +1,12 @@
package io.gitlab.jfronny.sdom.model.scoreboard
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class ScoreboardRow(
val rank: Int,
@SerialName("team_id") val teamId: String,
val score: Score,
val problems: List<ScoreboardProblem>
)