(fix) Tabellendefinitionen und Modelldefinitionen für Server-Modul
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package at.mocode.tables.domaene
|
||||
|
||||
import at.mocode.tables.PersonenTable
|
||||
import org.jetbrains.exposed.sql.Table
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.date
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.timestamp
|
||||
|
||||
object DomLizenzTable : Table("dom_lizenzen") {
|
||||
val lizenzId = uuid("lizenz_id")
|
||||
val personId = uuid("person_id").references(PersonenTable.id)
|
||||
val lizenzTypGlobalId = uuid("lizenz_typ_global_id") // FK to LizenzTypGlobal when implemented
|
||||
val gueltigBisJahr = integer("gueltig_bis_jahr").nullable()
|
||||
val ausgestelltAm = date("ausgestellt_am").nullable()
|
||||
val istAktivBezahltOeps = bool("ist_aktiv_bezahlt_oeps").default(false)
|
||||
val notiz = text("notiz").nullable()
|
||||
val createdAt = timestamp("created_at")
|
||||
val updatedAt = timestamp("updated_at")
|
||||
|
||||
override val primaryKey = PrimaryKey(lizenzId)
|
||||
|
||||
init {
|
||||
index(false, personId)
|
||||
index(false, lizenzTypGlobalId)
|
||||
index(false, gueltigBisJahr)
|
||||
index(false, istAktivBezahltOeps)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package at.mocode.tables.domaene
|
||||
|
||||
import org.jetbrains.exposed.sql.Table
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.date
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.timestamp
|
||||
|
||||
object DomPersonTable : Table("dom_personen") {
|
||||
val personId = uuid("person_id")
|
||||
val oepsSatzNr = varchar("oeps_satz_nr", 10).nullable().uniqueIndex()
|
||||
val nachname = varchar("nachname", 255)
|
||||
val vorname = varchar("vorname", 255)
|
||||
val titel = varchar("titel", 100).nullable()
|
||||
val geburtsdatum = date("geburtsdatum").nullable()
|
||||
val geschlechtE = varchar("geschlecht", 20).nullable()
|
||||
val nationalitaetLandId = uuid("nationalitaet_land_id").nullable() // FK to LandDefinition when implemented
|
||||
val feiId = varchar("fei_id", 50).nullable()
|
||||
val telefon = varchar("telefon", 50).nullable()
|
||||
val email = varchar("email", 255).nullable()
|
||||
|
||||
// Adresse
|
||||
val strasse = varchar("strasse", 255).nullable()
|
||||
val plz = varchar("plz", 20).nullable()
|
||||
val ort = varchar("ort", 255).nullable()
|
||||
val adresszusatzZusatzinfo = varchar("adresszusatz_zusatzinfo", 255).nullable()
|
||||
|
||||
val stammVereinId = uuid("stamm_verein_id").nullable() // FK to DomVerein when implemented
|
||||
val mitgliedsNummerBeiStammVerein = varchar("mitglieds_nummer_bei_stamm_verein", 50).nullable()
|
||||
|
||||
val istGesperrt = bool("ist_gesperrt").default(false)
|
||||
val sperrGrund = varchar("sperr_grund", 500).nullable()
|
||||
|
||||
val altersklasseOepsCodeRaw = varchar("altersklasse_oeps_code_raw", 10).nullable()
|
||||
val istJungerReiterOepsFlag = bool("ist_junger_reiter_oeps_flag").default(false)
|
||||
val kaderStatusOepsRaw = varchar("kader_status_oeps_raw", 10).nullable()
|
||||
|
||||
val datenQuelle = varchar("daten_quelle", 50).default("MANUELL")
|
||||
val istAktiv = bool("ist_aktiv").default(true)
|
||||
val notizenIntern = text("notizen_intern").nullable()
|
||||
|
||||
val createdAt = timestamp("created_at")
|
||||
val updatedAt = timestamp("updated_at")
|
||||
|
||||
override val primaryKey = PrimaryKey(personId)
|
||||
|
||||
init {
|
||||
index(false, nachname)
|
||||
index(false, vorname)
|
||||
index(false, oepsSatzNr)
|
||||
index(false, feiId)
|
||||
index(false, stammVereinId)
|
||||
index(false, istGesperrt)
|
||||
index(false, istAktiv)
|
||||
index(false, datenQuelle)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package at.mocode.tables.domaene
|
||||
|
||||
import at.mocode.enums.DatenQuelleE
|
||||
import at.mocode.enums.PferdeGeschlechtE
|
||||
import at.mocode.tables.PersonenTable
|
||||
import at.mocode.tables.VereineTable
|
||||
import org.jetbrains.exposed.sql.Table
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.timestamp
|
||||
|
||||
object DomPferdTable : Table("dom_pferde") {
|
||||
val pferdId = uuid("pferd_id")
|
||||
val oepsSatzNrPferd = varchar("oeps_satz_nr_pferd", 15).uniqueIndex().nullable()
|
||||
val oepsKopfNr = varchar("oeps_kopf_nr", 10).nullable()
|
||||
val name = varchar("name", 255)
|
||||
val lebensnummer = varchar("lebensnummer", 20).nullable()
|
||||
val feiPassNr = varchar("fei_pass_nr", 20).nullable()
|
||||
val geburtsjahr = integer("geburtsjahr").nullable()
|
||||
val geschlecht = enumerationByName("geschlecht", 20, PferdeGeschlechtE::class).nullable()
|
||||
val farbe = varchar("farbe", 50).nullable()
|
||||
val rasse = varchar("rasse", 100).nullable()
|
||||
val abstammungVaterName = varchar("abstammung_vater_name", 255).nullable()
|
||||
val abstammungMutterName = varchar("abstammung_mutter_name", 255).nullable()
|
||||
val abstammungMutterVaterName = varchar("abstammung_mutter_vater_name", 255).nullable()
|
||||
val abstammungZusatzInfo = text("abstammung_zusatz_info").nullable()
|
||||
val besitzerPersonId = uuid("besitzer_person_id").references(PersonenTable.id).nullable()
|
||||
val verantwortlichePersonId = uuid("verantwortliche_person_id").references(PersonenTable.id).nullable()
|
||||
val heimatVereinId = uuid("heimat_verein_id").references(VereineTable.id).nullable()
|
||||
val letzteZahlungPferdegebuehrJahrOeps = integer("letzte_zahlung_pferdegebuehr_jahr_oeps").nullable()
|
||||
val stockmassCm = integer("stockmass_cm").nullable()
|
||||
val datenQuelle = enumerationByName("daten_quelle", 20, DatenQuelleE::class).default(DatenQuelleE.MANUELL)
|
||||
val istAktiv = bool("ist_aktiv").default(true)
|
||||
val notizenIntern = text("notizen_intern").nullable()
|
||||
val createdAt = timestamp("created_at")
|
||||
val updatedAt = timestamp("updated_at")
|
||||
|
||||
override val primaryKey = PrimaryKey(pferdId)
|
||||
|
||||
init {
|
||||
index(false, name)
|
||||
index(false, oepsSatzNrPferd)
|
||||
index(false, lebensnummer)
|
||||
index(false, besitzerPersonId)
|
||||
index(false, verantwortlichePersonId)
|
||||
index(false, heimatVereinId)
|
||||
index(false, rasse)
|
||||
index(false, geburtsjahr)
|
||||
index(false, istAktiv)
|
||||
index(false, datenQuelle)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package at.mocode.tables.domaene
|
||||
|
||||
import org.jetbrains.exposed.sql.Table
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.date
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.timestamp
|
||||
|
||||
object DomQualifikationTable : Table("dom_qualifikationen") {
|
||||
val qualifikationId = uuid("qualifikation_id")
|
||||
val personId = uuid("person_id") // FK to DomPerson when implemented
|
||||
val qualTypId = uuid("qual_typ_id") // FK to QualifikationsTyp when implemented
|
||||
val bemerkung = text("bemerkung").nullable()
|
||||
val gueltigVon = date("gueltig_von").nullable()
|
||||
val gueltigBis = date("gueltig_bis").nullable()
|
||||
val istAktiv = bool("ist_aktiv").default(true)
|
||||
val createdAt = timestamp("created_at")
|
||||
val updatedAt = timestamp("updated_at")
|
||||
|
||||
override val primaryKey = PrimaryKey(qualifikationId)
|
||||
|
||||
init {
|
||||
index(false, personId)
|
||||
index(false, qualTypId)
|
||||
index(false, istAktiv)
|
||||
index(false, gueltigVon)
|
||||
index(false, gueltigBis)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package at.mocode.tables.domaene
|
||||
|
||||
import org.jetbrains.exposed.sql.Table
|
||||
import org.jetbrains.exposed.sql.kotlin.datetime.timestamp
|
||||
|
||||
object DomVereinTable : Table("dom_vereine") {
|
||||
val vereinId = uuid("verein_id")
|
||||
val oepsVereinsNr = varchar("oeps_vereins_nr", 10).nullable().uniqueIndex()
|
||||
val name = varchar("name", 255)
|
||||
val kuerzel = varchar("kuerzel", 50).nullable()
|
||||
|
||||
val adresseStrasse = varchar("adresse_strasse", 255).nullable()
|
||||
val plz = varchar("plz", 20).nullable()
|
||||
val ort = varchar("ort", 255).nullable()
|
||||
|
||||
val bundeslandId = uuid("bundesland_id").nullable() // FK to BundeslandDefinition when implemented
|
||||
val landId = uuid("land_id") // FK to LandDefinition when implemented
|
||||
|
||||
val emailAllgemein = varchar("email_allgemein", 255).nullable()
|
||||
val telefonAllgemein = varchar("telefon_allgemein", 50).nullable()
|
||||
val webseiteUrl = varchar("webseite_url", 500).nullable()
|
||||
|
||||
val datenQuelle = varchar("daten_quelle", 50).default("OEPS_ZNS")
|
||||
val istAktiv = bool("ist_aktiv").default(true)
|
||||
val notizenIntern = text("notizen_intern").nullable()
|
||||
|
||||
val createdAt = timestamp("created_at")
|
||||
val updatedAt = timestamp("updated_at")
|
||||
|
||||
override val primaryKey = PrimaryKey(vereinId)
|
||||
|
||||
init {
|
||||
index(false, name)
|
||||
index(false, oepsVereinsNr)
|
||||
index(false, bundeslandId)
|
||||
index(false, landId)
|
||||
index(false, istAktiv)
|
||||
index(false, datenQuelle)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user