diff --git a/backend/services/entries/entries-service/src/main/kotlin/at/mocode/entries/service/persistence/BewerbRichterEinsatzTable.kt b/backend/services/entries/entries-service/src/main/kotlin/at/mocode/entries/service/persistence/BewerbRichterEinsatzTable.kt new file mode 100644 index 00000000..46ad9c00 --- /dev/null +++ b/backend/services/entries/entries-service/src/main/kotlin/at/mocode/entries/service/persistence/BewerbRichterEinsatzTable.kt @@ -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) + } +} diff --git a/backend/services/entries/entries-service/src/main/kotlin/at/mocode/entries/service/persistence/BewerbTable.kt b/backend/services/entries/entries-service/src/main/kotlin/at/mocode/entries/service/persistence/BewerbTable.kt index e9e0a57d..35d9360b 100644 --- a/backend/services/entries/entries-service/src/main/kotlin/at/mocode/entries/service/persistence/BewerbTable.kt +++ b/backend/services/entries/entries-service/src/main/kotlin/at/mocode/entries/service/persistence/BewerbTable.kt @@ -2,16 +2,44 @@ package at.mocode.entries.service.persistence import org.jetbrains.exposed.v1.core.Table 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 object BewerbTable : Table("bewerbe") { - val id = javaUUID("id").autoGenerate() - val turnierId = javaUUID("turnier_id") - val klasse = varchar("klasse", 50) - val hoeheCm = integer("hoehe_cm").nullable() - val bezeichnung = text("bezeichnung") - val createdAt = timestamp("created_at") - val updatedAt = timestamp("updated_at") + val id = javaUUID("id").autoGenerate() + val turnierId = javaUUID("turnier_id") + val klasse = varchar("klasse", 50) + val hoeheCm = integer("hoehe_cm").nullable() + val bezeichnung = text("bezeichnung") + + // 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)