meldestelle/docs/05_Backend/API/API_Uebersicht_Stammdaten.md
StefanMoCoAt dbe7c74a9c Document tenant-aware database schema, multi-tenant strategy, and API references:
- Add database schema documentation: `Database_Schema_V1-V009.md` for tenant-isolated entities (`veranstaltungen`, `turniere`, `bewerbe`, etc.).
- Draft initial Kassa API reference: `Kassa_API.md` (status: DRAFT).
- Finalize Stammdaten API reference: `API_Uebersicht_Stammdaten.md` (status: ACTIVE).
- Summarize tenant isolation and multi-tenant strategy in `Multi_Tenant_Kurz.md`.
- Update `README.md` with links to new references. Mark B-2 roadmap tasks as partially complete.
2026-04-03 22:59:45 +02:00

2.4 KiB
Raw Blame History

type status owner last_update
Reference ACTIVE Backend Developer 2026-04-03

API-Übersicht Stammdaten

Abdeckung: Backend Sprint B1 (abgeschlossen). Konsolidierte Endpunkte für Reiter, Pferde, Vereine und Funktionäre. Implementiert mit Ktor; DTOs und Validierung in den jeweiligen Services.

Hinweis Tenant/Headers: Stammdaten sind global bzw. nicht tenantspezifisch. Für domainspezifische Vorgänge (Entries, Kassa) gilt ADR0021/X-Event-Id.

Reiter (/reiter)

  • GET /reiter — Liste (optional Filter: lizenzKlasse, vereinId; Pagination: limit, offset)
  • GET /reiter/search?q=... — Suche nach Name oder Satznummer
  • GET /reiter/{id} — Einzelabruf
  • GET /reiter/satznummer/{nr} — Lookup per Satznummer
  • POST /reiter — Anlegen
  • PUT /reiter/{id} — Aktualisieren (partiell)
  • DELETE /reiter/{id} — Löschen

Quelle: backend/services/masterdata/masterdata-api/.../ReiterController.kt

Pferde (/horse)

  • GET /horse — Liste (optional Filter: jahrgang, besitzerId; Pagination: limit, offset)
  • GET /horse/search?q=... — Suche nach Name/Nummern
  • GET /horse/{id} — Einzelabruf
  • POST /horse — Anlegen
  • PUT /horse/{id} — Aktualisieren (partiell)
  • DELETE /horse/{id} — Löschen

Quelle: backend/services/masterdata/masterdata-api/.../HorseController.kt

Vereine (/verein)

  • GET /verein — Liste (optional Filter: verband/Bundesland; Pagination: limit, offset)
  • GET /verein/search?q=... — Suche nach Name/Kurzname
  • GET /verein/{id} — Einzelabruf
  • POST /verein — Anlegen
  • PUT /verein/{id} — Aktualisieren (partiell)
  • DELETE /verein/{id} — Löschen

Quelle: backend/services/masterdata/masterdata-api/.../VereinController.kt

Funktionäre (/funktionaer)

  • GET /funktionaer — Liste (optional Filter: rolle; Pagination: limit, offset)
  • GET /funktionaer/search?q=... — Suche nach Name
  • GET /funktionaer/{id} — Einzelabruf
  • POST /funktionaer — Anlegen
  • PUT /funktionaer/{id} — Aktualisieren (partiell)
  • DELETE /funktionaer/{id} — Löschen

Quelle: backend/services/masterdata/masterdata-api/.../FunktionaerController.kt

Standards

  • Auth: Standard-Bearer optional je nach Deploymentprofil (siehe Service-Konfig)
  • Content-Type: application/json; charset=utf-8
  • Fehlerfälle: 400 (Validierung), 404 (nicht gefunden)