chore: implementiere Suche nach Veranstalter via OEPS-Nummer, verbessere UI-Flow im Veranstaltungs-Wizard und erweitere VereinRepository um OEPS-Abfrage
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled

Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-21 09:27:35 +02:00
parent 30b53584f8
commit 7acd9ea4c2
17 changed files with 230 additions and 58 deletions
@@ -107,6 +107,17 @@ class DefaultMasterdataRepository(
} else throw Exception("Verein nicht gefunden")
}
override suspend fun getStats(): Result<MasterdataStats> = runCatching {
// Mock für Remote-Stats, da Backend-Endpoint ggf. noch fehlt
MasterdataStats(
lastImport = "2026-04-20 18:45",
vereinCount = 1200,
reiterCount = 15000,
pferdCount = 8000,
funktionaerCount = 450
)
}
// Interne Hilfs-DTOs für das Mapping der Masterdata-API
@Serializable
private data class ReiterApiDto(
@@ -35,6 +35,14 @@ data class Verein(
val istVeranstalter: Boolean
)
data class MasterdataStats(
val lastImport: String?,
val vereinCount: Int,
val reiterCount: Int,
val pferdCount: Int,
val funktionaerCount: Int
)
interface MasterdataRepository {
suspend fun searchReiter(query: String): Result<List<Reiter>>
suspend fun getReiter(id: String): Result<Reiter>
@@ -47,4 +55,5 @@ interface MasterdataRepository {
suspend fun searchFunktionaere(query: String): Result<List<Funktionaer>>
suspend fun listVereine(): Result<List<Verein>>
suspend fun getVereinById(id: String): Result<Verein>
suspend fun getStats(): Result<MasterdataStats>
}