Extend Bewerb table and add BewerbRichterEinsatz table: introduce new properties, indexes, and mappings to support richer domain model and scheduling capabilities.

This commit is contained in:
2026-04-08 23:00:00 +02:00
parent e4f22096ed
commit 84403287a1
2 changed files with 53 additions and 7 deletions
@@ -0,0 +1,18 @@
package at.mocode.entries.service.persistence
import org.jetbrains.exposed.v1.core.Table
import org.jetbrains.exposed.v1.core.java.javaUUID
object BewerbRichterEinsatzTable : Table("bewerb_richter_einsaetze") {
val id = javaUUID("id").autoGenerate()
val bewerbId = javaUUID("bewerb_id").references(BewerbTable.id)
val funktionaerId = javaUUID("funktionaer_id")
val position = varchar("position", 100)
override val primaryKey = PrimaryKey(id)
init {
index(false, bewerbId)
index(false, funktionaerId)
}
}
@@ -2,16 +2,44 @@ package at.mocode.entries.service.persistence
import org.jetbrains.exposed.v1.core.Table import org.jetbrains.exposed.v1.core.Table
import org.jetbrains.exposed.v1.core.java.javaUUID import org.jetbrains.exposed.v1.core.java.javaUUID
import org.jetbrains.exposed.v1.datetime.date
import org.jetbrains.exposed.v1.datetime.time
import org.jetbrains.exposed.v1.datetime.timestamp import org.jetbrains.exposed.v1.datetime.timestamp
object BewerbTable : Table("bewerbe") { object BewerbTable : Table("bewerbe") {
val id = javaUUID("id").autoGenerate() val id = javaUUID("id").autoGenerate()
val turnierId = javaUUID("turnier_id") val turnierId = javaUUID("turnier_id")
val klasse = varchar("klasse", 50) val klasse = varchar("klasse", 50)
val hoeheCm = integer("hoehe_cm").nullable() val hoeheCm = integer("hoehe_cm").nullable()
val bezeichnung = text("bezeichnung") val bezeichnung = text("bezeichnung")
val createdAt = timestamp("created_at")
val updatedAt = timestamp("updated_at") // Abteilungs-Konfiguration
val teilungsTyp = varchar("teilungs_typ", 50).nullable()
// Text & Details
val beschreibung = text("beschreibung").nullable()
val aufgabe = varchar("aufgabe", 100).nullable()
val aufgabenNummer = varchar("aufgaben_nummer", 50).nullable()
val paraGrade = varchar("para_grade", 50).nullable()
// Ort & Funktionäre
val austragungsplatzId = javaUUID("austragungsplatz_id").nullable()
// Zeitplan
val geplantesDatum = date("geplantes_datum").nullable()
val beginnZeitTyp = varchar("beginn_zeit_typ", 20).nullable()
val beginnZeit = time("beginn_zeit").nullable()
val reitdauerMinuten = integer("reitdauer_minuten").nullable()
val umbauMinuten = integer("umbau_minuten").nullable()
val besichtigungMinuten = integer("besichtigung_minuten").nullable()
val stechenGeplant = bool("stechen_geplant").default(false)
// Finanzen
val startgeldCent = long("startgeld_cent").nullable()
val geldpreisAusbezahlt = bool("geldpreis_ausbezahlt").default(false)
val createdAt = timestamp("created_at")
val updatedAt = timestamp("updated_at")
override val primaryKey = PrimaryKey(id) override val primaryKey = PrimaryKey(id)