feat(api): extend Masterdata API with CRUD endpoints for Pferde and Funktionäre

- Added full CRUD support for Pferde (list, search, get by ID, create, update, delete) with filters for Jahrgang and BesitzerId.
- Introduced FunktionaerController, offering CRUD operations for Funktionäre (list, search, get by ID, create, update, delete) with filtering by Rolle.
- Enhanced HorseController and ReiterController with updated data models, additional request validation, and detailed filtering options.
- Extended backend configurations to register new controllers and route handlers.
- Updated roadmaps and progress documents to reflect completed Sprint B-1 tasks.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-03 10:12:27 +02:00
parent 2dd5453365
commit 2270f9602f
11 changed files with 811 additions and 83 deletions
@@ -5,11 +5,12 @@ package at.mocode.entries.service.tenant
import at.mocode.entries.domain.model.DomNennung
import at.mocode.entries.domain.repository.NennungRepository
import at.mocode.entries.service.persistence.NennungTable
import kotlinx.coroutines.runBlocking
import org.flywaydb.core.Flyway
import org.jetbrains.exposed.v1.jdbc.selectAll
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
import org.junit.jupiter.api.TestInstance.Lifecycle
@@ -19,15 +20,13 @@ import org.springframework.boot.test.context.SpringBootTest
import org.springframework.jdbc.core.JdbcTemplate
import org.springframework.test.context.DynamicPropertyRegistry
import org.springframework.test.context.DynamicPropertySource
import org.springframework.test.context.junit.jupiter.SpringExtension
import org.springframework.test.context.TestPropertySource
import org.springframework.test.context.junit.jupiter.SpringExtension
import org.testcontainers.containers.PostgreSQLContainer
import org.testcontainers.junit.jupiter.Container
import org.testcontainers.junit.jupiter.Testcontainers
import kotlin.time.Clock
import kotlin.uuid.Uuid
import kotlinx.coroutines.runBlocking
import org.jetbrains.exposed.v1.jdbc.selectAll
@ExtendWith(SpringExtension::class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
@@ -54,7 +53,6 @@ import org.jetbrains.exposed.v1.jdbc.selectAll
"spring.main.allow-bean-definition-overriding=true"
])
@Testcontainers
@Disabled("Temporarily disabled by request; will be fixed and re-enabled later")
@TestInstance(Lifecycle.PER_CLASS)
class EntriesIsolationIntegrationTest @Autowired constructor(
private val jdbcTemplate: JdbcTemplate,