feat(db+domain): add turniernummer and einschraenkungen fields for tournament scope and constraints

- **Database Changes:** Introduced `turnier_nummer` (mandatory, 5 digits) and `einschraenkungen` (mandatory, ÖTO-specific constraints) columns in `turniere` table. Seeded `turnier_nummer` with `oeps_turniernummer` where applicable.
- **Domain Models:** Extended `Turnier` and `DomTurnier` with `turnierNummer` and `einschraenkungen` fields. Added `TeilnehmerKreisE` enum for mapping restriction types.
- **Services and Controllers:** Updated repository and service operations to handle the new fields. Controllers reflect the new request models for creation and updates.
- **Validation:** Enforced input validation for `turnierNummer` format and `einschraenkungen` values.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-07 15:07:18 +02:00
parent 7bf89c58d3
commit 6b9177e818
9 changed files with 119 additions and 7 deletions
@@ -441,6 +441,36 @@ enum class TurnierStatusE {
ABGESAGT
}
/**
* Einschränkungen des Teilnehmerkreises gemäß ÖTO § 3 (Zusatz-Buchstaben bei Turnieren).
*/
@Serializable
enum class TeilnehmerKreisE {
/** Jugend/Junioren/Junge Reiter (J) */
JUGEND_JUNIOREN_YR,
/** Ponys (P) */
PONYS,
/** Noriker (N) */
NORIKER,
/** Haflinger (H) */
HAFLINGER,
/** Ländliche Reiter (L) */
LAENDLICHE_REITER,
/** Vollblutaraber (A) */
VOLLBLUTARABER,
/** Kaltblut (K) */
KALTBLUT,
/** Damensattel (D) */
DAMENSATTEL
}
/**
* Status einer Ausschreibung gemäß ÖTO-Genehmigungsworkflow.
*/