diff --git a/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ContestState.kt b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ContestState.kt new file mode 100644 index 0000000..7f295f1 --- /dev/null +++ b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ContestState.kt @@ -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?, +) diff --git a/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/Score.kt b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/Score.kt new file mode 100644 index 0000000..5951623 --- /dev/null +++ b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/Score.kt @@ -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, +) diff --git a/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/Scoreboard.kt b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/Scoreboard.kt new file mode 100644 index 0000000..4fac20d --- /dev/null +++ b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/Scoreboard.kt @@ -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, +) \ No newline at end of file diff --git a/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ScoreboardProblem.kt b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ScoreboardProblem.kt new file mode 100644 index 0000000..5fefc84 --- /dev/null +++ b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ScoreboardProblem.kt @@ -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 +) \ No newline at end of file diff --git a/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ScoreboardRow.kt b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ScoreboardRow.kt new file mode 100644 index 0000000..b105c81 --- /dev/null +++ b/src/main/kotlin/io/gitlab/jfronny/sdom/model/scoreboard/ScoreboardRow.kt @@ -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 +)