Integrate qualification master data (QualifikationMasterTable) with functionary models, update schema and repository logic, refactor satzID references, and harmonize database migration (V010).
This commit is contained in:
+14
-8
@@ -19,9 +19,12 @@ import kotlin.uuid.Uuid
|
||||
*/
|
||||
class FunktionaerController(private val funktionaerRepository: FunktionaerRepository) {
|
||||
|
||||
/**
|
||||
* DTO für die API-Response eines Funktionärs.
|
||||
*/
|
||||
data class FunktionaerDto(
|
||||
val funktionaerId: String,
|
||||
val satzID: String,
|
||||
val satzId: String,
|
||||
val satzNummer: Int,
|
||||
val name: String? = null,
|
||||
val qualifikationen: List<String> = emptyList(),
|
||||
@@ -31,9 +34,12 @@ class FunktionaerController(private val funktionaerRepository: FunktionaerReposi
|
||||
val updatedAt: Instant
|
||||
)
|
||||
|
||||
/**
|
||||
* Request-Body zum Anlegen eines neuen Funktionärs.
|
||||
*/
|
||||
@Serializable
|
||||
data class FunktionaerCreateRequest(
|
||||
val satzID: String,
|
||||
val satzId: String,
|
||||
val satzNummer: Int,
|
||||
val name: String? = null,
|
||||
val qualifikationen: List<String> = emptyList(),
|
||||
@@ -82,12 +88,12 @@ class FunktionaerController(private val funktionaerRepository: FunktionaerReposi
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /funktionaer/satz/{satzID}/{satzNummer} — Sucht einen Funktionär nach Satz-ID und Nummer.
|
||||
* GET /funktionaer/satz/{satzId}/{satzNummer} — Sucht einen Funktionär nach Satz-ID und Nummer.
|
||||
*/
|
||||
get("/satz/{satzID}/{satzNummer}") {
|
||||
val satzID = call.parameters["satzID"] ?: return@get call.respond(HttpStatusCode.BadRequest)
|
||||
get("/satz/{satzId}/{satzNummer}") {
|
||||
val satzId = call.parameters["satzId"] ?: return@get call.respond(HttpStatusCode.BadRequest)
|
||||
val satzNummer = call.parameters["satzNummer"]?.toIntOrNull() ?: return@get call.respond(HttpStatusCode.BadRequest)
|
||||
val funktionaer = funktionaerRepository.findBySatz(satzID, satzNummer)
|
||||
val funktionaer = funktionaerRepository.findBySatz(satzId, satzNummer)
|
||||
if (funktionaer != null) call.respond(funktionaer.toDto()) else call.respond(HttpStatusCode.NotFound)
|
||||
}
|
||||
|
||||
@@ -97,7 +103,7 @@ class FunktionaerController(private val funktionaerRepository: FunktionaerReposi
|
||||
post {
|
||||
val req = call.receive<FunktionaerCreateRequest>()
|
||||
val domFunktionaer = Funktionaer(
|
||||
satzId = req.satzID,
|
||||
satzId = req.satzId,
|
||||
satzNummer = req.satzNummer,
|
||||
name = req.name,
|
||||
qualifikationen = req.qualifikationen,
|
||||
@@ -141,7 +147,7 @@ class FunktionaerController(private val funktionaerRepository: FunktionaerReposi
|
||||
|
||||
private fun Funktionaer.toDto() = FunktionaerDto(
|
||||
funktionaerId = funktionaerId.toString(),
|
||||
satzID = satzId,
|
||||
satzId = satzId,
|
||||
satzNummer = satzNummer,
|
||||
name = name,
|
||||
qualifikationen = qualifikationen,
|
||||
|
||||
Reference in New Issue
Block a user