Liga-Kategorien entstehen still mit der Mannschaftsmeldung #157

Open
opened 2026-10-28 17:36:28 +00:00 by claude · 0 comments
Collaborator

Befund

Liga-Kategorien legt niemand ausdrücklich an. Sie entstehen still mit der Mannschaftsmeldung:
Meldet ein Verein eine Mannschaft für eine Kategorie, die es in der Saison noch nicht gibt, legt
TeamStructureService.findOrCreateCategory sie an, und wenn nötig auch die ganze Meisterschaft
(findOrCreateCompetition), backend/.../competition/service/TeamStructureService.java Zeilen 113–141.
Die Reihenfolge ist die Reihenfolge der Entstehung (Zahl der vorhandenen + 1).

Denselben Weg nimmt der Verband beim Anlegen oder Ändern einer einzelnen Mannschaft
(TeamService → resolveCategory, drei Stellen).

  • Welche Kategorien es gibt, steht nur im Portal, fest eingetragen: ["A", "A Promotion", "B", "C", "D"]
    in portal/src/components/TeamCard.tsx:15, dazu im StructureEditor.
  • Das Backend nimmt jeden Namen an. Ein Aufruf mit „b“ oder „A-Promotion“ erzeugt still eine neue
    Kategorie samt eigener Tabelle.
  • Ein ausdrücklicher Weg zum Anlegen, Umbenennen und Löschen (/api/competition/categories) existiert
    zwar, wird aber von niemandem aufgerufen und fällt mit der URL-Neuordnung weg (Spec, Abschnitt 4).
  • Der tote SeasonSetupService.ensureCategories (ruft nur ein Test auf) hat als Vorgabe "AP", das
    Portal meldet "A Promotion". Das zeigt, wie leicht die zwei Listen auseinanderlaufen.

Bezug

Für die Turnierrunden ist am 08.09.2026 entschieden: Runden werden ausdrücklich angelegt, eine
unbekannte Nummer ist 400, kein stilles Anlegen. Grund: Ein Tippfehler erzeugte sonst unbemerkt eine
Runde 11 (docs/superpowers/plans/2026-09-08-turnierergebnisse.md, Zeile 1368). Bei den Liga-Kategorien
gilt dasselbe Muster heute nicht.

Offen (fachlich, vor dem Bau)

  • Wer legt fest, welche Kategorien eine Saison hat, und wann (Saison vorbereiten? aus der Vorsaison übernommen?)
  • Wo im Portal geschieht das?
  • Die Meldung wählt dann nur noch aus vorhandenen Kategorien; eine unbekannte ist 400.
  • Gilt dasselbe für die Meisterschaft und den Cup als Wettbewerb?

Nicht Teil davon

Der Service-Zuschnitt (ADR 0033 Schritt 3, docs/2026-10-28-service-zuschnitt.md) ist ein reiner Umzug
mit unverändertem Verhalten: Das Anlegen zieht dort unverändert mit dem TeamStructureService in den
TeamService. Gefunden am 28.10.2026 beim Zuschnitt der Kategorie.

## Befund Liga-Kategorien legt niemand ausdrücklich an. Sie entstehen still mit der Mannschaftsmeldung: Meldet ein Verein eine Mannschaft für eine Kategorie, die es in der Saison noch nicht gibt, legt `TeamStructureService.findOrCreateCategory` sie an, und wenn nötig auch die ganze Meisterschaft (`findOrCreateCompetition`), `backend/.../competition/service/TeamStructureService.java` Zeilen 113–141. Die Reihenfolge ist die Reihenfolge der Entstehung (Zahl der vorhandenen + 1). Denselben Weg nimmt der Verband beim Anlegen oder Ändern einer einzelnen Mannschaft (`TeamService` → `resolveCategory`, drei Stellen). - Welche Kategorien es gibt, steht nur im Portal, fest eingetragen: `["A", "A Promotion", "B", "C", "D"]` in `portal/src/components/TeamCard.tsx:15`, dazu im `StructureEditor`. - Das Backend nimmt **jeden** Namen an. Ein Aufruf mit „b“ oder „A-Promotion“ erzeugt still eine neue Kategorie samt eigener Tabelle. - Ein ausdrücklicher Weg zum Anlegen, Umbenennen und Löschen (`/api/competition/categories`) existiert zwar, wird aber von niemandem aufgerufen und fällt mit der URL-Neuordnung weg (Spec, Abschnitt 4). - Der tote `SeasonSetupService.ensureCategories` (ruft nur ein Test auf) hat als Vorgabe `"AP"`, das Portal meldet `"A Promotion"`. Das zeigt, wie leicht die zwei Listen auseinanderlaufen. ## Bezug Für die Turnierrunden ist am 08.09.2026 entschieden: **Runden werden ausdrücklich angelegt**, eine unbekannte Nummer ist `400`, kein stilles Anlegen. Grund: Ein Tippfehler erzeugte sonst unbemerkt eine Runde 11 (`docs/superpowers/plans/2026-09-08-turnierergebnisse.md`, Zeile 1368). Bei den Liga-Kategorien gilt dasselbe Muster heute nicht. ## Offen (fachlich, vor dem Bau) - Wer legt fest, welche Kategorien eine Saison hat, und wann (Saison vorbereiten? aus der Vorsaison übernommen?) - Wo im Portal geschieht das? - Die Meldung wählt dann nur noch aus vorhandenen Kategorien; eine unbekannte ist `400`. - Gilt dasselbe für die Meisterschaft und den Cup als Wettbewerb? ## Nicht Teil davon Der Service-Zuschnitt (ADR 0033 Schritt 3, `docs/2026-10-28-service-zuschnitt.md`) ist ein reiner Umzug mit unverändertem Verhalten: Das Anlegen zieht dort unverändert mit dem `TeamStructureService` in den `TeamService`. Gefunden am 28.10.2026 beim Zuschnitt der Kategorie.
Sign in to join this conversation.
No description provided.