From 022ee000be62b67122c7a5730f8038d812071b9b Mon Sep 17 00:00:00 2001 From: MoCoAt Date: Tue, 7 Oct 2025 16:00:09 +0200 Subject: [PATCH] fixing UUID-Importe im Projekt auf Kotlin natives Format aktualisieren --- gradle/libs.versions.toml | 10 +++++----- .../auth/client/AuthenticationService.kt | 3 ++- .../application/usecase/CreateVeranstaltungUseCase.kt | 3 ++- .../application/usecase/DeleteVeranstaltungUseCase.kt | 3 ++- .../application/usecase/GetVeranstaltungUseCase.kt | 3 ++- .../application/usecase/UpdateVeranstaltungUseCase.kt | 3 ++- .../at/mocode/events/domain/model/Veranstaltung.kt | 6 +++--- .../domain/repository/VeranstaltungRepository.kt | 3 ++- .../persistence/VeranstaltungRepositoryImpl.kt | 3 ++- .../horses/application/usecase/CreateHorseUseCase.kt | 3 ++- .../horses/application/usecase/DeleteHorseUseCase.kt | 3 ++- .../kotlin/at/mocode/horses/domain/model/DomPferd.kt | 6 +++--- .../horses/domain/repository/HorseRepository.kt | 3 ++- .../infrastructure/persistence/HorseRepositoryImpl.kt | 3 ++- .../horses/infrastructure/persistence/HorseTable.kt | 1 - .../masterdata/api/rest/BundeslandController.kt | 11 ++++++----- .../mocode/masterdata/api/rest/CountryController.kt | 5 +++-- .../at/mocode/masterdata/api/rest/PlatzController.kt | 7 ++++--- .../masterdata/domain/model/AltersklasseDefinition.kt | 6 +++--- .../masterdata/domain/model/BundeslandDefinition.kt | 6 +++--- .../mocode/masterdata/domain/model/LandDefinition.kt | 6 +++--- .../kotlin/at/mocode/masterdata/domain/model/Platz.kt | 6 +++--- .../at/mocode/members/api/rest/MemberController.kt | 9 +++++---- .../kotlin/at/mocode/members/domain/model/Member.kt | 6 +++--- 24 files changed, 66 insertions(+), 52 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 832be0a0..0fdf1355 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ agp = "8.1.4" # --- Kotlin Ecosystem --- kotlin = "2.2.20" kotlin-logging = "7.0.3" -kotlinx = "1.9.0" +kotlinx = "1.10.2" kotlinx-serialization-json = "1.7.3" kotlinx-datetime = "0.7.1" kotlinx-coroutines = "1.10.2" @@ -174,9 +174,9 @@ logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "lo logback-core = { module = "ch.qos.logback:logback-core", version.ref = "logback" } kotlin-logging-jvm = { module = "io.github.oshai:kotlin-logging-jvm", version.ref = "kotlin-logging" } caffeine = { module = "com.github.ben-manes.caffeine:caffeine", version.ref = "caffeine" } -reactor-kafka = { module = "io.projectreactor.kafka:reactor-kafka", version.ref = "reactorKafka" } -jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" } -jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jackson" } +reactor-kafka = { module = "io.projectreactor.kafka:reactor-kafka" } +jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin" } +jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" } jakarta-annotation-api = { module = "jakarta.annotation:jakarta.annotation-api", version.ref = "jakartaAnnotation" } # --- Compose UI --- @@ -265,7 +265,7 @@ testing-jvm = [ "junit-jupiter-api", "junit-jupiter-engine", "junit-jupiter-params", - "junit-platform-launcher", # <- DIESE ABHÄNGIGKEIT FEHLT! + "junit-platform-launcher", "mockk", "assertj-core", "kotlinx-coroutines-test" diff --git a/infrastructure/auth/auth-client/src/main/kotlin/at/mocode/infrastructure/auth/client/AuthenticationService.kt b/infrastructure/auth/auth-client/src/main/kotlin/at/mocode/infrastructure/auth/client/AuthenticationService.kt index 35d32739..1d874e5d 100644 --- a/infrastructure/auth/auth-client/src/main/kotlin/at/mocode/infrastructure/auth/client/AuthenticationService.kt +++ b/infrastructure/auth/auth-client/src/main/kotlin/at/mocode/infrastructure/auth/client/AuthenticationService.kt @@ -1,8 +1,9 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.infrastructure.auth.client import at.mocode.infrastructure.auth.client.model.BerechtigungE -import com.benasher44.uuid.Uuid import java.time.LocalDateTime +import kotlin.uuid.Uuid /** * Service für Benutzerauthentifizierung und Passwortverwaltung. diff --git a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/CreateVeranstaltungUseCase.kt b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/CreateVeranstaltungUseCase.kt index 4e7e54eb..d2353810 100644 --- a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/CreateVeranstaltungUseCase.kt +++ b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/CreateVeranstaltungUseCase.kt @@ -1,3 +1,4 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.events.application.usecase import at.mocode.core.domain.model.ApiResponse @@ -7,7 +8,7 @@ import at.mocode.events.domain.repository.VeranstaltungRepository import at.mocode.core.domain.model.SparteE import at.mocode.core.domain.model.ValidationResult import at.mocode.core.domain.model.ValidationError -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.LocalDate diff --git a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/DeleteVeranstaltungUseCase.kt b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/DeleteVeranstaltungUseCase.kt index e8533d41..251a8c6a 100644 --- a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/DeleteVeranstaltungUseCase.kt +++ b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/DeleteVeranstaltungUseCase.kt @@ -1,9 +1,10 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.events.application.usecase import at.mocode.core.domain.model.ApiResponse import at.mocode.core.domain.model.ErrorDto import at.mocode.events.domain.repository.VeranstaltungRepository -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid /** * Use case for deleting events (Veranstaltung). diff --git a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/GetVeranstaltungUseCase.kt b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/GetVeranstaltungUseCase.kt index 3106bb3e..cfc4b7d9 100644 --- a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/GetVeranstaltungUseCase.kt +++ b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/GetVeranstaltungUseCase.kt @@ -1,10 +1,11 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.events.application.usecase import at.mocode.core.domain.model.ApiResponse import at.mocode.core.domain.model.ErrorDto import at.mocode.events.domain.model.Veranstaltung import at.mocode.events.domain.repository.VeranstaltungRepository -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid /** * Use case for retrieving events (Veranstaltung) by ID. diff --git a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/UpdateVeranstaltungUseCase.kt b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/UpdateVeranstaltungUseCase.kt index f2b5e27e..d0e62f0f 100644 --- a/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/UpdateVeranstaltungUseCase.kt +++ b/services/events/events-application/src/main/kotlin/at/mocode/events/application/usecase/UpdateVeranstaltungUseCase.kt @@ -1,3 +1,4 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.events.application.usecase import at.mocode.core.domain.model.ApiResponse @@ -7,7 +8,7 @@ import at.mocode.events.domain.repository.VeranstaltungRepository import at.mocode.core.domain.model.SparteE import at.mocode.core.domain.model.ValidationResult import at.mocode.core.domain.model.ValidationError -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.LocalDate diff --git a/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/model/Veranstaltung.kt b/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/model/Veranstaltung.kt index ea6147e5..811bc5ef 100644 --- a/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/model/Veranstaltung.kt +++ b/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/model/Veranstaltung.kt @@ -1,11 +1,11 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.events.domain.model import at.mocode.core.domain.model.SparteE import at.mocode.core.domain.serialization.KotlinInstantSerializer import at.mocode.core.domain.serialization.KotlinLocalDateSerializer import at.mocode.core.domain.serialization.UuidSerializer -import com.benasher44.uuid.Uuid -import com.benasher44.uuid.uuid4 +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.Instant import kotlinx.datetime.LocalDate @@ -36,7 +36,7 @@ import kotlinx.serialization.Serializable @Serializable data class Veranstaltung( @Serializable(with = UuidSerializer::class) - val veranstaltungId: Uuid = uuid4(), + val veranstaltungId: Uuid = Uuid.random(), // Basic Information var name: String, diff --git a/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/repository/VeranstaltungRepository.kt b/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/repository/VeranstaltungRepository.kt index ce6262e4..0b342acf 100644 --- a/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/repository/VeranstaltungRepository.kt +++ b/services/events/events-domain/src/main/kotlin/at/mocode/events/domain/repository/VeranstaltungRepository.kt @@ -1,7 +1,8 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.events.domain.repository import at.mocode.events.domain.model.Veranstaltung -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid import kotlinx.datetime.LocalDate /** diff --git a/services/events/events-infrastructure/src/main/kotlin/at/mocode/events/infrastructure/persistence/VeranstaltungRepositoryImpl.kt b/services/events/events-infrastructure/src/main/kotlin/at/mocode/events/infrastructure/persistence/VeranstaltungRepositoryImpl.kt index 9eda0b31..946a3d06 100644 --- a/services/events/events-infrastructure/src/main/kotlin/at/mocode/events/infrastructure/persistence/VeranstaltungRepositoryImpl.kt +++ b/services/events/events-infrastructure/src/main/kotlin/at/mocode/events/infrastructure/persistence/VeranstaltungRepositoryImpl.kt @@ -1,10 +1,11 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.events.infrastructure.persistence import at.mocode.core.domain.model.SparteE import at.mocode.events.domain.model.Veranstaltung import at.mocode.events.domain.repository.VeranstaltungRepository import at.mocode.core.utils.database.DatabaseFactory -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.LocalDate import kotlinx.serialization.json.Json diff --git a/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/CreateHorseUseCase.kt b/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/CreateHorseUseCase.kt index c566649c..8e9f03ff 100644 --- a/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/CreateHorseUseCase.kt +++ b/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/CreateHorseUseCase.kt @@ -1,3 +1,4 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.horses.application.usecase import at.mocode.horses.domain.model.DomPferd @@ -8,7 +9,7 @@ import at.mocode.core.domain.model.ApiResponse import at.mocode.core.domain.model.ErrorDto import at.mocode.core.domain.model.ValidationResult import at.mocode.core.domain.model.ValidationError -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid import kotlinx.datetime.LocalDate import kotlinx.datetime.todayIn diff --git a/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/DeleteHorseUseCase.kt b/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/DeleteHorseUseCase.kt index f5f04e41..79e2566c 100644 --- a/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/DeleteHorseUseCase.kt +++ b/services/horses/horses-application/src/main/kotlin/at/mocode/horses/application/usecase/DeleteHorseUseCase.kt @@ -1,7 +1,8 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.horses.application.usecase import at.mocode.horses.domain.repository.HorseRepository -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid /** * Use case for deleting a horse from the registry. diff --git a/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/model/DomPferd.kt b/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/model/DomPferd.kt index ab6f55ba..15555736 100644 --- a/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/model/DomPferd.kt +++ b/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/model/DomPferd.kt @@ -1,11 +1,11 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.horses.domain.model import at.mocode.core.domain.model.PferdeGeschlechtE import at.mocode.core.domain.model.DatenQuelleE import at.mocode.core.domain.serialization.KotlinInstantSerializer import at.mocode.core.domain.serialization.UuidSerializer -import com.benasher44.uuid.Uuid -import com.benasher44.uuid.uuid4 +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.Instant import kotlinx.datetime.LocalDate @@ -47,7 +47,7 @@ import kotlinx.serialization.Serializable @Serializable data class DomPferd( @Serializable(with = UuidSerializer::class) - val pferdId: Uuid = uuid4(), + val pferdId: Uuid = Uuid.random(), // Basic Information var pferdeName: String, diff --git a/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/repository/HorseRepository.kt b/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/repository/HorseRepository.kt index 7cd8d8b6..49c8ac73 100644 --- a/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/repository/HorseRepository.kt +++ b/services/horses/horses-domain/src/main/kotlin/at/mocode/horses/domain/repository/HorseRepository.kt @@ -1,8 +1,9 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.horses.domain.repository import at.mocode.horses.domain.model.DomPferd import at.mocode.core.domain.model.PferdeGeschlechtE -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid /** * Repository interface for DomPferd (Horse) domain operations. diff --git a/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseRepositoryImpl.kt b/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseRepositoryImpl.kt index 2cfb3daf..968e045d 100644 --- a/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseRepositoryImpl.kt +++ b/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseRepositoryImpl.kt @@ -1,10 +1,11 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.horses.infrastructure.persistence import at.mocode.core.domain.model.PferdeGeschlechtE import at.mocode.horses.domain.model.DomPferd import at.mocode.horses.domain.repository.HorseRepository import at.mocode.core.utils.database.DatabaseFactory -import com.benasher44.uuid.Uuid +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq diff --git a/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseTable.kt b/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseTable.kt index 9ae51319..5088c03b 100644 --- a/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseTable.kt +++ b/services/horses/horses-infrastructure/src/main/kotlin/at/mocode/horses/infrastructure/persistence/HorseTable.kt @@ -2,7 +2,6 @@ package at.mocode.horses.infrastructure.persistence import at.mocode.core.domain.model.PferdeGeschlechtE import at.mocode.core.domain.model.DatenQuelleE -import com.benasher44.uuid.Uuid import org.jetbrains.exposed.dao.id.UUIDTable import org.jetbrains.exposed.sql.kotlin.datetime.date import org.jetbrains.exposed.sql.kotlin.datetime.timestamp diff --git a/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/BundeslandController.kt b/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/BundeslandController.kt index 45155f6e..0a6b9834 100644 --- a/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/BundeslandController.kt +++ b/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/BundeslandController.kt @@ -1,3 +1,4 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.masterdata.api.rest import at.mocode.core.domain.model.ApiResponse @@ -5,7 +6,7 @@ import at.mocode.masterdata.application.usecase.CreateBundeslandUseCase import at.mocode.masterdata.application.usecase.GetBundeslandUseCase import at.mocode.masterdata.domain.model.BundeslandDefinition import at.mocode.core.utils.validation.ApiValidationUtils -import com.benasher44.uuid.uuidFrom +import kotlin.uuid.Uuid import io.ktor.http.* import io.ktor.server.request.* import io.ktor.server.response.* @@ -105,7 +106,7 @@ class BundeslandController( // GET /api/masterdata/bundeslaender/{id} - Get federal state by ID get("/{id}") { try { - val bundeslandId = call.parameters["id"]?.let { uuidFrom(it) } + val bundeslandId = call.parameters["id"]?.let { Uuid.parse(it) } ?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error("Invalid federal state ID")) val bundesland = getBundeslandUseCase.getById(bundeslandId) @@ -129,7 +130,7 @@ class BundeslandController( ?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error("Country ID (landId) is required")) val landId = try { - uuidFrom(landIdParam) + Uuid.parse(landIdParam) } catch (_: Exception) { return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error("Invalid country ID format")) } @@ -169,7 +170,7 @@ class BundeslandController( // GET /api/masterdata/bundeslaender/country/{countryId} - Get federal states by country get("/country/{countryId}") { try { - val landId = call.parameters["countryId"]?.let { uuidFrom(it) } + val landId = call.parameters["countryId"]?.let { Uuid.parse(it) } ?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error>("Invalid country ID")) val activeOnlyParam = call.request.queryParameters["activeOnly"] @@ -207,7 +208,7 @@ class BundeslandController( val limit = call.request.queryParameters["limit"]?.toIntOrNull() ?: 50 val landIdParam = call.request.queryParameters["landId"] - val landId = landIdParam?.let { uuidFrom(it) } + val landId = landIdParam?.let { Uuid.parse(it) } val bundeslaender = getBundeslandUseCase.searchByName(searchTerm, landId, limit) val bundeslandDtos = bundeslaender.map { it.toDto() } diff --git a/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/CountryController.kt b/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/CountryController.kt index f1ddbc51..cf06d0dc 100644 --- a/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/CountryController.kt +++ b/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/CountryController.kt @@ -1,3 +1,4 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.masterdata.api.rest import at.mocode.core.domain.model.ApiResponse @@ -5,7 +6,7 @@ import at.mocode.masterdata.application.usecase.CreateCountryUseCase import at.mocode.masterdata.application.usecase.GetCountryUseCase import at.mocode.masterdata.domain.model.LandDefinition import at.mocode.core.utils.validation.ApiValidationUtils -import com.benasher44.uuid.uuidFrom +import kotlin.uuid.Uuid import io.ktor.http.* import io.ktor.server.request.* import io.ktor.server.response.* @@ -111,7 +112,7 @@ class CountryController( // GET /api/masterdata/countries/{id} - Get country by ID get("/{id}") { try { - val countryId = call.parameters["id"]?.let { uuidFrom(it) } + val countryId = call.parameters["id"]?.let { Uuid.parse(it) } ?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error("Invalid country ID")) val country = getCountryUseCase.getById(countryId) diff --git a/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/PlatzController.kt b/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/PlatzController.kt index 0321f227..d38daed0 100644 --- a/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/PlatzController.kt +++ b/services/masterdata/masterdata-api/src/main/kotlin/at/mocode/masterdata/api/rest/PlatzController.kt @@ -1,3 +1,4 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.masterdata.api.rest import at.mocode.core.domain.model.ApiResponse @@ -6,7 +7,7 @@ import at.mocode.masterdata.application.usecase.CreatePlatzUseCase import at.mocode.masterdata.application.usecase.GetPlatzUseCase import at.mocode.masterdata.domain.model.Platz import at.mocode.core.utils.validation.ApiValidationUtils -import com.benasher44.uuid.uuidFrom +import kotlin.uuid.Uuid import io.ktor.http.* import io.ktor.server.request.* import io.ktor.server.response.* @@ -78,7 +79,7 @@ class PlatzController( // GET /api/masterdata/plaetze/{id} - Get venue by ID get("/{id}") { try { - val platzId = call.parameters["id"]?.let { uuidFrom(it) } + val platzId = call.parameters["id"]?.let { Uuid.parse(it) } ?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error("Invalid venue ID")) val platz = getPlatzUseCase.getById(platzId) @@ -95,7 +96,7 @@ class PlatzController( // GET /api/masterdata/plaetze/tournament/{turnierId} - Get venues by tournament get("/tournament/{turnierId}") { try { - val turnierId = call.parameters["turnierId"]?.let { uuidFrom(it) } + val turnierId = call.parameters["turnierId"]?.let { Uuid.parse(it) } ?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error>("Invalid tournament ID")) val activeOnlyParam = call.request.queryParameters["activeOnly"] diff --git a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/AltersklasseDefinition.kt b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/AltersklasseDefinition.kt index 527f67ab..a55b5948 100644 --- a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/AltersklasseDefinition.kt +++ b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/AltersklasseDefinition.kt @@ -1,10 +1,10 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.masterdata.domain.model import at.mocode.core.domain.model.SparteE // Optional, falls Altersklassen stark spartenspezifisch sind import at.mocode.core.domain.serialization.KotlinInstantSerializer import at.mocode.core.domain.serialization.UuidSerializer -import com.benasher44.uuid.Uuid -import com.benasher44.uuid.uuid4 +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.Instant import kotlinx.serialization.Serializable @@ -37,7 +37,7 @@ import kotlinx.serialization.Serializable @Serializable data class AltersklasseDefinition( @Serializable(with = UuidSerializer::class) - val altersklasseId: Uuid = uuid4(), // Interner Primärschlüssel + val altersklasseId: Uuid = Uuid.random(), // Interner Primärschlüssel var altersklasseCode: String, // Fachlicher PK, z.B. "JGD_U16" var bezeichnung: String, diff --git a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/BundeslandDefinition.kt b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/BundeslandDefinition.kt index 2c1695fb..35a2b0bb 100644 --- a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/BundeslandDefinition.kt +++ b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/BundeslandDefinition.kt @@ -1,9 +1,9 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.masterdata.domain.model import at.mocode.core.domain.serialization.KotlinInstantSerializer import at.mocode.core.domain.serialization.UuidSerializer -import com.benasher44.uuid.Uuid -import com.benasher44.uuid.uuid4 +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.Instant import kotlinx.serialization.Serializable @@ -31,7 +31,7 @@ import kotlinx.serialization.Serializable @Serializable data class BundeslandDefinition( @Serializable(with = UuidSerializer::class) - val bundeslandId: Uuid = uuid4(), + val bundeslandId: Uuid = Uuid.random(), @Serializable(with = UuidSerializer::class) var landId: Uuid, // FK zu LandDefinition.landId diff --git a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/LandDefinition.kt b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/LandDefinition.kt index 54054750..67bb9efc 100644 --- a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/LandDefinition.kt +++ b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/LandDefinition.kt @@ -1,9 +1,9 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.masterdata.domain.model import at.mocode.core.domain.serialization.KotlinInstantSerializer import at.mocode.core.domain.serialization.UuidSerializer -import com.benasher44.uuid.Uuid -import com.benasher44.uuid.uuid4 +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.Instant import kotlinx.serialization.Serializable @@ -31,7 +31,7 @@ import kotlinx.serialization.Serializable @Serializable data class LandDefinition( @Serializable(with = UuidSerializer::class) - val landId: Uuid = uuid4(), + val landId: Uuid = Uuid.random(), var isoAlpha2Code: String, // z.B. "AT" → Fachlicher PK oder Unique Constraint var isoAlpha3Code: String, // z.B. "AUT" -> Unique Constraint diff --git a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/Platz.kt b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/Platz.kt index 74765893..e7d3a425 100644 --- a/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/Platz.kt +++ b/services/masterdata/masterdata-domain/src/main/kotlin/at/mocode/masterdata/domain/model/Platz.kt @@ -1,10 +1,10 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.masterdata.domain.model import at.mocode.core.domain.model.PlatzTypE import at.mocode.core.domain.serialization.KotlinInstantSerializer import at.mocode.core.domain.serialization.UuidSerializer -import com.benasher44.uuid.Uuid -import com.benasher44.uuid.uuid4 +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.Instant import kotlinx.serialization.Serializable @@ -29,7 +29,7 @@ import kotlinx.serialization.Serializable @Serializable data class Platz( @Serializable(with = UuidSerializer::class) - val id: Uuid = uuid4(), + val id: Uuid = Uuid.random(), @Serializable(with = UuidSerializer::class) var turnierId: Uuid, diff --git a/services/members/members-api/src/main/kotlin/at/mocode/members/api/rest/MemberController.kt b/services/members/members-api/src/main/kotlin/at/mocode/members/api/rest/MemberController.kt index 5c814fbc..876842e5 100644 --- a/services/members/members-api/src/main/kotlin/at/mocode/members/api/rest/MemberController.kt +++ b/services/members/members-api/src/main/kotlin/at/mocode/members/api/rest/MemberController.kt @@ -1,10 +1,11 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.members.api.rest import at.mocode.core.domain.model.ApiResponse import at.mocode.infrastructure.messaging.client.EventPublisher import at.mocode.members.application.usecase.* import at.mocode.members.domain.repository.MemberRepository -import com.benasher44.uuid.uuidFrom +import kotlin.uuid.Uuid import io.swagger.v3.oas.annotations.Operation import io.swagger.v3.oas.annotations.Parameter import io.swagger.v3.oas.annotations.responses.ApiResponses @@ -166,7 +167,7 @@ class MemberController( ): ResponseEntity> { return handleUseCaseExecution( operation = { - val memberId = uuidFrom(id) + val memberId = Uuid.parse(id) val request = GetMemberUseCase.GetMemberRequest(memberId) getMemberUseCase.execute(request) }, @@ -287,7 +288,7 @@ class MemberController( @PreAuthorize("hasAuthority('PERSON_UPDATE')") fun updateMember(@PathVariable id: String, @RequestBody updateRequest: UpdateMemberRequest): ResponseEntity> { return try { - val memberId = uuidFrom(id) + val memberId = Uuid.parse(id) val useCaseRequest = UpdateMemberUseCase.UpdateMemberRequest( memberId = memberId, firstName = updateRequest.firstName, @@ -395,7 +396,7 @@ class MemberController( @RequestParam(required = false) excludeMemberId: String? ): ResponseEntity> { return try { - val excludeId = excludeMemberId?.let { uuidFrom(it) } + val excludeId = excludeMemberId?.let { Uuid.parse(it) } val request = ValidateMemberDataUseCase.ValidateEmailRequest(email, excludeId) val response = runBlocking { validateMemberDataUseCase.validateEmail(request) } diff --git a/services/members/members-domain/src/main/kotlin/at/mocode/members/domain/model/Member.kt b/services/members/members-domain/src/main/kotlin/at/mocode/members/domain/model/Member.kt index 7e488146..b59dc84d 100644 --- a/services/members/members-domain/src/main/kotlin/at/mocode/members/domain/model/Member.kt +++ b/services/members/members-domain/src/main/kotlin/at/mocode/members/domain/model/Member.kt @@ -1,10 +1,10 @@ +@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class) package at.mocode.members.domain.model import at.mocode.core.domain.serialization.KotlinInstantSerializer import at.mocode.core.domain.serialization.KotlinLocalDateSerializer import at.mocode.core.domain.serialization.UuidSerializer -import com.benasher44.uuid.Uuid -import com.benasher44.uuid.uuid4 +import kotlin.uuid.Uuid import kotlinx.datetime.Clock import kotlinx.datetime.Instant import kotlinx.datetime.LocalDate @@ -36,7 +36,7 @@ import kotlinx.serialization.Serializable @Serializable data class Member( @Serializable(with = UuidSerializer::class) - val memberId: Uuid = uuid4(), + val memberId: Uuid = Uuid.random(), // Personal Information var firstName: String,