Refactor domain models (DomFunktionaer, DomReiter, DomPferd) to align with ZNS conventions: simplify naming, update properties, and enhance parser logic. Adjust related controllers, repository methods, and tests. Update MASTER_ROADMAP with changes to domain models.
This commit is contained in:
+5
-5
@@ -3,7 +3,7 @@
|
||||
package at.mocode.masterdata.api.rest
|
||||
|
||||
import at.mocode.core.domain.serialization.InstantSerializer
|
||||
import at.mocode.masterdata.domain.model.DomFunktionaer
|
||||
import at.mocode.masterdata.domain.model.Funktionaer
|
||||
import at.mocode.masterdata.domain.repository.FunktionaerRepository
|
||||
import io.ktor.http.*
|
||||
import io.ktor.server.request.*
|
||||
@@ -96,8 +96,8 @@ class FunktionaerController(private val funktionaerRepository: FunktionaerReposi
|
||||
*/
|
||||
post {
|
||||
val req = call.receive<FunktionaerCreateRequest>()
|
||||
val domFunktionaer = DomFunktionaer(
|
||||
satzID = req.satzID,
|
||||
val domFunktionaer = Funktionaer(
|
||||
satzId = req.satzID,
|
||||
satzNummer = req.satzNummer,
|
||||
name = req.name,
|
||||
qualifikationen = req.qualifikationen,
|
||||
@@ -139,9 +139,9 @@ class FunktionaerController(private val funktionaerRepository: FunktionaerReposi
|
||||
|
||||
private fun parseUuid(value: String?): Uuid? = value?.let { runCatching { Uuid.parse(it) }.getOrNull() }
|
||||
|
||||
private fun DomFunktionaer.toDto() = FunktionaerDto(
|
||||
private fun Funktionaer.toDto() = FunktionaerDto(
|
||||
funktionaerId = funktionaerId.toString(),
|
||||
satzID = satzID,
|
||||
satzID = satzId,
|
||||
satzNummer = satzNummer,
|
||||
name = name,
|
||||
qualifikationen = qualifikationen,
|
||||
|
||||
+4
-4
@@ -4,7 +4,7 @@ package at.mocode.masterdata.api.rest
|
||||
|
||||
import at.mocode.core.domain.model.PferdeGeschlechtE
|
||||
import at.mocode.core.domain.serialization.InstantSerializer
|
||||
import at.mocode.masterdata.domain.model.DomPferd
|
||||
import at.mocode.masterdata.domain.model.Pferd
|
||||
import at.mocode.masterdata.domain.repository.HorseRepository
|
||||
import io.ktor.http.*
|
||||
import io.ktor.server.request.*
|
||||
@@ -110,7 +110,7 @@ class HorseController(private val horseRepository: HorseRepository) {
|
||||
val req = call.receive<HorseCreateRequest>()
|
||||
val geschlecht = runCatching { PferdeGeschlechtE.valueOf(req.geschlecht) }.getOrNull()
|
||||
?: return@post call.respond(HttpStatusCode.BadRequest, "Ungültiges Geschlecht: ${req.geschlecht}")
|
||||
val domPferd = DomPferd(
|
||||
val pferd = Pferd(
|
||||
kopfnummer = req.kopfnummer,
|
||||
pferdeName = req.pferdeName,
|
||||
lebensnummer = req.lebensnummer,
|
||||
@@ -120,7 +120,7 @@ class HorseController(private val horseRepository: HorseRepository) {
|
||||
satznummer = req.satznummer,
|
||||
istAktiv = req.istAktiv
|
||||
)
|
||||
val saved = horseRepository.save(domPferd)
|
||||
val saved = horseRepository.save(pferd)
|
||||
call.respond(HttpStatusCode.Created, saved.toDto())
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ class HorseController(private val horseRepository: HorseRepository) {
|
||||
|
||||
private fun parseUuid(value: String?): Uuid? = value?.let { runCatching { Uuid.parse(it) }.getOrNull() }
|
||||
|
||||
private fun DomPferd.toDto() = HorseDto(
|
||||
private fun Pferd.toDto() = HorseDto(
|
||||
pferdId = pferdId.toString(),
|
||||
kopfnummer = kopfnummer,
|
||||
pferdeName = pferdeName,
|
||||
|
||||
+6
-6
@@ -2,10 +2,10 @@
|
||||
|
||||
package at.mocode.masterdata.api.rest
|
||||
|
||||
import at.mocode.core.domain.model.LizenzKlasseE
|
||||
import at.mocode.core.domain.model.ReiterLizenzKlasseE
|
||||
import at.mocode.core.domain.serialization.InstantSerializer
|
||||
import at.mocode.core.domain.serialization.LocalDateSerializer
|
||||
import at.mocode.masterdata.domain.model.DomReiter
|
||||
import at.mocode.masterdata.domain.model.Reiter
|
||||
import at.mocode.masterdata.domain.repository.ReiterRepository
|
||||
import io.ktor.http.*
|
||||
import io.ktor.server.request.*
|
||||
@@ -132,9 +132,9 @@ class ReiterController(private val reiterRepository: ReiterRepository) {
|
||||
*/
|
||||
post {
|
||||
val req = call.receive<ReiterCreateRequest>()
|
||||
val lizenzKlasse = runCatching { LizenzKlasseE.valueOf(req.lizenzKlasse) }.getOrNull()
|
||||
val lizenzKlasse = runCatching { ReiterLizenzKlasseE.valueOf(req.lizenzKlasse) }.getOrNull()
|
||||
?: return@post call.respond(HttpStatusCode.BadRequest, "Ungültige lizenzKlasse: ${req.lizenzKlasse}")
|
||||
val domReiter = DomReiter(
|
||||
val domReiter = Reiter(
|
||||
personId = Uuid.random(),
|
||||
satznummer = req.satznummer,
|
||||
nachname = req.nachname,
|
||||
@@ -165,7 +165,7 @@ class ReiterController(private val reiterRepository: ReiterRepository) {
|
||||
val existing = reiterRepository.findById(id) ?: return@put call.respond(HttpStatusCode.NotFound)
|
||||
val req = call.receive<ReiterUpdateRequest>()
|
||||
val lizenzKlasse = req.lizenzKlasse?.let {
|
||||
runCatching { LizenzKlasseE.valueOf(it) }.getOrNull()
|
||||
runCatching { ReiterLizenzKlasseE.valueOf(it) }.getOrNull()
|
||||
?: return@put call.respond(HttpStatusCode.BadRequest, "Ungültige lizenzKlasse: $it")
|
||||
} ?: existing.lizenzKlasse
|
||||
val updated = existing.copy(
|
||||
@@ -202,7 +202,7 @@ class ReiterController(private val reiterRepository: ReiterRepository) {
|
||||
|
||||
private fun parseUuid(value: String?): Uuid? = value?.let { runCatching { Uuid.parse(it) }.getOrNull() }
|
||||
|
||||
private fun DomReiter.toDto() = ReiterDto(
|
||||
private fun Reiter.toDto() = ReiterDto(
|
||||
reiterId = reiterId.toString(),
|
||||
satznummer = satznummer,
|
||||
nachname = nachname,
|
||||
|
||||
+13
-19
@@ -3,7 +3,7 @@
|
||||
package at.mocode.masterdata.api.rest
|
||||
|
||||
import at.mocode.core.domain.serialization.InstantSerializer
|
||||
import at.mocode.masterdata.domain.model.DomVerein
|
||||
import at.mocode.masterdata.domain.model.Verein
|
||||
import at.mocode.masterdata.domain.repository.VereinRepository
|
||||
import io.ktor.http.*
|
||||
import io.ktor.server.request.*
|
||||
@@ -24,7 +24,6 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
val vereinId: String,
|
||||
val vereinsNummer: String,
|
||||
val name: String,
|
||||
val kurzname: String? = null,
|
||||
val bundesland: String? = null,
|
||||
val ort: String? = null,
|
||||
val plz: String? = null,
|
||||
@@ -32,9 +31,9 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
val email: String? = null,
|
||||
val telefon: String? = null,
|
||||
val website: String? = null,
|
||||
val oepsRegionNummer: String? = null,
|
||||
val istVeranstalter: Boolean,
|
||||
val istAktiv: Boolean,
|
||||
val imageUrl: String? = null,
|
||||
val bemerkungen: String? = null,
|
||||
@Serializable(with = InstantSerializer::class)
|
||||
val updatedAt: Instant
|
||||
@@ -44,7 +43,6 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
data class VereinCreateRequest(
|
||||
val vereinsNummer: String,
|
||||
val name: String,
|
||||
val kurzname: String? = null,
|
||||
val bundesland: String? = null,
|
||||
val ort: String? = null,
|
||||
val plz: String? = null,
|
||||
@@ -52,16 +50,15 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
val email: String? = null,
|
||||
val telefon: String? = null,
|
||||
val website: String? = null,
|
||||
val oepsRegionNummer: String? = null,
|
||||
val istVeranstalter: Boolean = false,
|
||||
val istAktiv: Boolean = true,
|
||||
val imageUrl: String? = null,
|
||||
val bemerkungen: String? = null
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class VereinUpdateRequest(
|
||||
val name: String? = null,
|
||||
val kurzname: String? = null,
|
||||
val bundesland: String? = null,
|
||||
val ort: String? = null,
|
||||
val plz: String? = null,
|
||||
@@ -69,9 +66,9 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
val email: String? = null,
|
||||
val telefon: String? = null,
|
||||
val website: String? = null,
|
||||
val oepsRegionNummer: String? = null,
|
||||
val istVeranstalter: Boolean? = null,
|
||||
val istAktiv: Boolean? = null,
|
||||
val imageUrl: String? = null,
|
||||
val bemerkungen: String? = null
|
||||
)
|
||||
|
||||
@@ -95,7 +92,7 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /verein/search?q=... — Sucht Vereine nach Name oder Kurzname.
|
||||
* GET /verein/search?q=... — Sucht Vereine nach Name.
|
||||
*/
|
||||
get("/search") {
|
||||
val query = call.request.queryParameters["q"] ?: ""
|
||||
@@ -126,10 +123,9 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
*/
|
||||
post {
|
||||
val req = call.receive<VereinCreateRequest>()
|
||||
val domVerein = DomVerein(
|
||||
val domVerein = Verein(
|
||||
vereinsNummer = req.vereinsNummer,
|
||||
name = req.name,
|
||||
kurzname = req.kurzname,
|
||||
vereinName = req.name,
|
||||
bundesland = req.bundesland,
|
||||
ort = req.ort,
|
||||
plz = req.plz,
|
||||
@@ -137,9 +133,9 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
email = req.email,
|
||||
telefon = req.telefon,
|
||||
website = req.website,
|
||||
oepsRegionNummer = req.oepsRegionNummer,
|
||||
istVeranstalter = req.istVeranstalter,
|
||||
istAktiv = req.istAktiv,
|
||||
imageUrl = req.imageUrl,
|
||||
bemerkungen = req.bemerkungen
|
||||
)
|
||||
val saved = vereinRepository.save(domVerein)
|
||||
@@ -154,8 +150,7 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
val existing = vereinRepository.findById(id) ?: return@put call.respond(HttpStatusCode.NotFound)
|
||||
val req = call.receive<VereinUpdateRequest>()
|
||||
val updated = existing.copy(
|
||||
name = req.name ?: existing.name,
|
||||
kurzname = req.kurzname ?: existing.kurzname,
|
||||
vereinName = req.name ?: existing.vereinName,
|
||||
bundesland = req.bundesland ?: existing.bundesland,
|
||||
ort = req.ort ?: existing.ort,
|
||||
plz = req.plz ?: existing.plz,
|
||||
@@ -163,9 +158,9 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
email = req.email ?: existing.email,
|
||||
telefon = req.telefon ?: existing.telefon,
|
||||
website = req.website ?: existing.website,
|
||||
oepsRegionNummer = req.oepsRegionNummer ?: existing.oepsRegionNummer,
|
||||
istVeranstalter = req.istVeranstalter ?: existing.istVeranstalter,
|
||||
istAktiv = req.istAktiv ?: existing.istAktiv,
|
||||
imageUrl = req.imageUrl ?: existing.imageUrl,
|
||||
bemerkungen = req.bemerkungen ?: existing.bemerkungen
|
||||
)
|
||||
val saved = vereinRepository.save(updated)
|
||||
@@ -185,11 +180,10 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
|
||||
private fun parseUuid(value: String?): Uuid? = value?.let { runCatching { Uuid.parse(it) }.getOrNull() }
|
||||
|
||||
private fun DomVerein.toDto() = VereinDto(
|
||||
private fun Verein.toDto() = VereinDto(
|
||||
vereinId = vereinId.toString(),
|
||||
vereinsNummer = vereinsNummer,
|
||||
name = name,
|
||||
kurzname = kurzname,
|
||||
name = vereinName,
|
||||
bundesland = bundesland,
|
||||
ort = ort,
|
||||
plz = plz,
|
||||
@@ -197,9 +191,9 @@ class VereinController(private val vereinRepository: VereinRepository) {
|
||||
email = email,
|
||||
telefon = telefon,
|
||||
website = website,
|
||||
oepsRegionNummer = oepsRegionNummer,
|
||||
istVeranstalter = istVeranstalter,
|
||||
istAktiv = istAktiv,
|
||||
imageUrl = imageUrl,
|
||||
bemerkungen = bemerkungen,
|
||||
updatedAt = updatedAt
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user