versuch ein Daten-Modell aufzubauen
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
package at.mocode.shared.model.entitaeten
|
||||
|
||||
import at.mocode.shared.model.serializers.KotlinInstantSerializer
|
||||
import at.mocode.shared.model.serializers.UuidSerializer
|
||||
import com.benasher44.uuid.Uuid
|
||||
import kotlinx.datetime.Clock
|
||||
import kotlinx.datetime.Instant
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
||||
@Serializable
|
||||
data class Abteilung(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val id: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val bewerbId: Uuid,
|
||||
val bezeichnung: String, // z.B. "R1", "R2/RS2 u. höher"
|
||||
val beginnZeit: String, // TIME als String, z.B. "09:00" oder "anschließend"
|
||||
val istFixeBeginnZeit: Boolean = false,
|
||||
@Serializable(with = KotlinInstantSerializer::class)
|
||||
val createdAt: Instant = Clock.System.now(),
|
||||
@Serializable(with = KotlinInstantSerializer::class)
|
||||
var updatedAt: Instant = Clock.System.now()
|
||||
)
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package at.mocode.shared.model.entitaeten
|
||||
|
||||
import at.mocode.shared.model.enums.BewerbStatus
|
||||
import at.mocode.shared.model.enums.Sparte
|
||||
import at.mocode.shared.model.serializers.BigDecimalSerializer
|
||||
import at.mocode.shared.model.serializers.KotlinInstantSerializer
|
||||
import at.mocode.shared.model.serializers.UuidSerializer
|
||||
import com.benasher44.uuid.Uuid
|
||||
import com.ionspin.kotlin.bignum.decimal.BigDecimal
|
||||
import kotlinx.datetime.Instant
|
||||
import kotlinx.datetime.LocalDate
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class Bewerb(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val id: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
var turnierId: Uuid,
|
||||
var nummer: Int,
|
||||
var bezeichnung: String,
|
||||
var klasse: String,
|
||||
var datum: LocalDate,
|
||||
var sparte: Sparte,
|
||||
var richtverfahren: String?,
|
||||
var beginnZeit: String, // TIME als String (z.B. "09:00" oder "anschließend")
|
||||
var istFixeBeginnZeit: Boolean = false,
|
||||
var laufzeitProStarter: Int?, // Dauer pro Starter in Minuten
|
||||
var maxStarter: Int?,
|
||||
@Serializable(with = BigDecimalSerializer::class)
|
||||
var nenngeld: BigDecimal?,
|
||||
var sonderpruefungReferenz: SonderpruefungReferenz?,
|
||||
var cupReferenz: List<CupReferenz> = emptyList(),
|
||||
var status: BewerbStatus = BewerbStatus.GEPLANT,
|
||||
var details: String?,
|
||||
var einteilung: String?,
|
||||
@Serializable(with = KotlinInstantSerializer::class)
|
||||
val createdAt: Instant,
|
||||
@Serializable(with = KotlinInstantSerializer::class)
|
||||
var updatedAt: Instant
|
||||
)
|
||||
+24
@@ -16,3 +16,27 @@ data class MeisterschaftReferenz(
|
||||
var berechnungsstrategie: String?,
|
||||
var reglementUrl: String?
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class CupReferenz(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val id: Uuid = uuid4(),
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
var cupId: Uuid, // FK zu einer Meisterschafts-Entität
|
||||
var name: String,
|
||||
var betrifftBewerbNummern: List<Int>,
|
||||
var berechnungsstrategie: String?,
|
||||
var reglementUrl: String?
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class SonderpruefungReferenz(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val id: Uuid = uuid4(),
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
var cupId: Uuid, // FK zu einer Meisterschafts-Entität
|
||||
var name: String,
|
||||
var betrifftBewerbNummern: List<Int>,
|
||||
var berechnungsstrategie: String?,
|
||||
var reglementUrl: String?
|
||||
)
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
package at.mocode.shared.model.entitaeten
|
||||
|
||||
|
||||
import at.mocode.shared.model.enums.NennungsArt
|
||||
import at.mocode.shared.model.serializers.BigDecimalSerializer
|
||||
import at.mocode.shared.model.serializers.KotlinInstantSerializer
|
||||
import at.mocode.shared.model.serializers.KotlinLocalDateSerializer
|
||||
import at.mocode.shared.model.serializers.KotlinLocalDateTimeSerializer
|
||||
import at.mocode.shared.model.serializers.UuidSerializer
|
||||
import at.mocode.shared.model.serializers.*
|
||||
import com.benasher44.uuid.Uuid
|
||||
import com.benasher44.uuid.uuid4
|
||||
import com.ionspin.kotlin.bignum.decimal.BigDecimal
|
||||
|
||||
Reference in New Issue
Block a user