feat: implement data model pt 1

This commit is contained in:
Johannes Frohnmeyer 2024-05-12 13:36:46 +02:00
parent b305c2fbb3
commit ecb6612c8c
Signed by: Johannes
GPG Key ID: E76429612C2929F4
5 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,26 @@
package io.gitlab.jfronny.sdom.model
import kotlinx.datetime.LocalDateTime
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class Contest(
@SerialName("formal_name") val formalName: String,
@SerialName("scoreboard_type") val scoreboardType: String,
@SerialName("start_time") val startTime: LocalDateTime,
@SerialName("end_time") val endTime: LocalDateTime,
@SerialName("scoreboard_thaw_time") val scoreboardThawTime: LocalDateTime,
@SerialName("duration") val duration: String,
@SerialName("scoreboard_freeze_duration") val scoreboardFreezeDuration: String?,
val banner: ImageFile,
val problemset: FileWithName,
val id: String,
@SerialName("external_id") val externalId: String,
val name: String,
val shortname: String,
@SerialName("allow_submit") val allowSubmit: Boolean,
@SerialName("runtime_as_score_tiebreaker") val runtimeAsScoreTiebreaker: Boolean,
@SerialName("warning_message") val warningMessage: String?,
@SerialName("penalty_time") val penaltyTime: Int,
)

View File

@ -0,0 +1,10 @@
package io.gitlab.jfronny.sdom.model
import kotlinx.serialization.Serializable
@Serializable
data class FileWithName(
val href: String,
val mime: String,
val filename: String,
)

View File

@ -0,0 +1,12 @@
package io.gitlab.jfronny.sdom.model
import kotlinx.serialization.Serializable
@Serializable
data class ImageFile(
val href: String,
val mime: String,
val filename: String,
val width: Int,
val height: Int,
)

View File

@ -0,0 +1,17 @@
package io.gitlab.jfronny.sdom.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class Problem(
val id: String,
@SerialName("short_name") val shortName: String,
val rgb: String,
val color: String,
val label: String,
val timeLimit: Float,
val statement: FileWithName,
@SerialName("externalid") val externalId: String,
val name: String,
)

View File

@ -0,0 +1,4 @@
package io.gitlab.jfronny.sdom.model
class SDResult {
}