fixing UUID-Importe im Projekt auf Kotlin natives Format aktualisieren
This commit is contained in:
@@ -9,7 +9,7 @@ agp = "8.1.4"
|
|||||||
# --- Kotlin Ecosystem ---
|
# --- Kotlin Ecosystem ---
|
||||||
kotlin = "2.2.20"
|
kotlin = "2.2.20"
|
||||||
kotlin-logging = "7.0.3"
|
kotlin-logging = "7.0.3"
|
||||||
kotlinx = "1.9.0"
|
kotlinx = "1.10.2"
|
||||||
kotlinx-serialization-json = "1.7.3"
|
kotlinx-serialization-json = "1.7.3"
|
||||||
kotlinx-datetime = "0.7.1"
|
kotlinx-datetime = "0.7.1"
|
||||||
kotlinx-coroutines = "1.10.2"
|
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" }
|
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" }
|
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" }
|
caffeine = { module = "com.github.ben-manes.caffeine:caffeine", version.ref = "caffeine" }
|
||||||
reactor-kafka = { module = "io.projectreactor.kafka:reactor-kafka", version.ref = "reactorKafka" }
|
reactor-kafka = { module = "io.projectreactor.kafka:reactor-kafka" }
|
||||||
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" }
|
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin" }
|
||||||
jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jackson" }
|
jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" }
|
||||||
jakarta-annotation-api = { module = "jakarta.annotation:jakarta.annotation-api", version.ref = "jakartaAnnotation" }
|
jakarta-annotation-api = { module = "jakarta.annotation:jakarta.annotation-api", version.ref = "jakartaAnnotation" }
|
||||||
|
|
||||||
# --- Compose UI ---
|
# --- Compose UI ---
|
||||||
@@ -265,7 +265,7 @@ testing-jvm = [
|
|||||||
"junit-jupiter-api",
|
"junit-jupiter-api",
|
||||||
"junit-jupiter-engine",
|
"junit-jupiter-engine",
|
||||||
"junit-jupiter-params",
|
"junit-jupiter-params",
|
||||||
"junit-platform-launcher", # <- DIESE ABHÄNGIGKEIT FEHLT!
|
"junit-platform-launcher",
|
||||||
"mockk",
|
"mockk",
|
||||||
"assertj-core",
|
"assertj-core",
|
||||||
"kotlinx-coroutines-test"
|
"kotlinx-coroutines-test"
|
||||||
|
|||||||
+2
-1
@@ -1,8 +1,9 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.infrastructure.auth.client
|
package at.mocode.infrastructure.auth.client
|
||||||
|
|
||||||
import at.mocode.infrastructure.auth.client.model.BerechtigungE
|
import at.mocode.infrastructure.auth.client.model.BerechtigungE
|
||||||
import com.benasher44.uuid.Uuid
|
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
import kotlin.uuid.Uuid
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service für Benutzerauthentifizierung und Passwortverwaltung.
|
* Service für Benutzerauthentifizierung und Passwortverwaltung.
|
||||||
|
|||||||
+2
-1
@@ -1,3 +1,4 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.events.application.usecase
|
package at.mocode.events.application.usecase
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
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.SparteE
|
||||||
import at.mocode.core.domain.model.ValidationResult
|
import at.mocode.core.domain.model.ValidationResult
|
||||||
import at.mocode.core.domain.model.ValidationError
|
import at.mocode.core.domain.model.ValidationError
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,9 +1,10 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.events.application.usecase
|
package at.mocode.events.application.usecase
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
import at.mocode.core.domain.model.ApiResponse
|
||||||
import at.mocode.core.domain.model.ErrorDto
|
import at.mocode.core.domain.model.ErrorDto
|
||||||
import at.mocode.events.domain.repository.VeranstaltungRepository
|
import at.mocode.events.domain.repository.VeranstaltungRepository
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use case for deleting events (Veranstaltung).
|
* Use case for deleting events (Veranstaltung).
|
||||||
|
|||||||
+2
-1
@@ -1,10 +1,11 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.events.application.usecase
|
package at.mocode.events.application.usecase
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
import at.mocode.core.domain.model.ApiResponse
|
||||||
import at.mocode.core.domain.model.ErrorDto
|
import at.mocode.core.domain.model.ErrorDto
|
||||||
import at.mocode.events.domain.model.Veranstaltung
|
import at.mocode.events.domain.model.Veranstaltung
|
||||||
import at.mocode.events.domain.repository.VeranstaltungRepository
|
import at.mocode.events.domain.repository.VeranstaltungRepository
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use case for retrieving events (Veranstaltung) by ID.
|
* Use case for retrieving events (Veranstaltung) by ID.
|
||||||
|
|||||||
+2
-1
@@ -1,3 +1,4 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.events.application.usecase
|
package at.mocode.events.application.usecase
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
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.SparteE
|
||||||
import at.mocode.core.domain.model.ValidationResult
|
import at.mocode.core.domain.model.ValidationResult
|
||||||
import at.mocode.core.domain.model.ValidationError
|
import at.mocode.core.domain.model.ValidationError
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,11 +1,11 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.events.domain.model
|
package at.mocode.events.domain.model
|
||||||
|
|
||||||
import at.mocode.core.domain.model.SparteE
|
import at.mocode.core.domain.model.SparteE
|
||||||
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
||||||
import at.mocode.core.domain.serialization.KotlinLocalDateSerializer
|
import at.mocode.core.domain.serialization.KotlinLocalDateSerializer
|
||||||
import at.mocode.core.domain.serialization.UuidSerializer
|
import at.mocode.core.domain.serialization.UuidSerializer
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
@@ -36,7 +36,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class Veranstaltung(
|
data class Veranstaltung(
|
||||||
@Serializable(with = UuidSerializer::class)
|
@Serializable(with = UuidSerializer::class)
|
||||||
val veranstaltungId: Uuid = uuid4(),
|
val veranstaltungId: Uuid = Uuid.random(),
|
||||||
|
|
||||||
// Basic Information
|
// Basic Information
|
||||||
var name: String,
|
var name: String,
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,8 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.events.domain.repository
|
package at.mocode.events.domain.repository
|
||||||
|
|
||||||
import at.mocode.events.domain.model.Veranstaltung
|
import at.mocode.events.domain.model.Veranstaltung
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-1
@@ -1,10 +1,11 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.events.infrastructure.persistence
|
package at.mocode.events.infrastructure.persistence
|
||||||
|
|
||||||
import at.mocode.core.domain.model.SparteE
|
import at.mocode.core.domain.model.SparteE
|
||||||
import at.mocode.events.domain.model.Veranstaltung
|
import at.mocode.events.domain.model.Veranstaltung
|
||||||
import at.mocode.events.domain.repository.VeranstaltungRepository
|
import at.mocode.events.domain.repository.VeranstaltungRepository
|
||||||
import at.mocode.core.utils.database.DatabaseFactory
|
import at.mocode.core.utils.database.DatabaseFactory
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
|||||||
+2
-1
@@ -1,3 +1,4 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.horses.application.usecase
|
package at.mocode.horses.application.usecase
|
||||||
|
|
||||||
import at.mocode.horses.domain.model.DomPferd
|
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.ErrorDto
|
||||||
import at.mocode.core.domain.model.ValidationResult
|
import at.mocode.core.domain.model.ValidationResult
|
||||||
import at.mocode.core.domain.model.ValidationError
|
import at.mocode.core.domain.model.ValidationError
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import kotlinx.datetime.todayIn
|
import kotlinx.datetime.todayIn
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,8 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.horses.application.usecase
|
package at.mocode.horses.application.usecase
|
||||||
|
|
||||||
import at.mocode.horses.domain.repository.HorseRepository
|
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.
|
* Use case for deleting a horse from the registry.
|
||||||
|
|||||||
+3
-3
@@ -1,11 +1,11 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.horses.domain.model
|
package at.mocode.horses.domain.model
|
||||||
|
|
||||||
import at.mocode.core.domain.model.PferdeGeschlechtE
|
import at.mocode.core.domain.model.PferdeGeschlechtE
|
||||||
import at.mocode.core.domain.model.DatenQuelleE
|
import at.mocode.core.domain.model.DatenQuelleE
|
||||||
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
||||||
import at.mocode.core.domain.serialization.UuidSerializer
|
import at.mocode.core.domain.serialization.UuidSerializer
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
@@ -47,7 +47,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class DomPferd(
|
data class DomPferd(
|
||||||
@Serializable(with = UuidSerializer::class)
|
@Serializable(with = UuidSerializer::class)
|
||||||
val pferdId: Uuid = uuid4(),
|
val pferdId: Uuid = Uuid.random(),
|
||||||
|
|
||||||
// Basic Information
|
// Basic Information
|
||||||
var pferdeName: String,
|
var pferdeName: String,
|
||||||
|
|||||||
+2
-1
@@ -1,8 +1,9 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.horses.domain.repository
|
package at.mocode.horses.domain.repository
|
||||||
|
|
||||||
import at.mocode.horses.domain.model.DomPferd
|
import at.mocode.horses.domain.model.DomPferd
|
||||||
import at.mocode.core.domain.model.PferdeGeschlechtE
|
import at.mocode.core.domain.model.PferdeGeschlechtE
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Repository interface for DomPferd (Horse) domain operations.
|
* Repository interface for DomPferd (Horse) domain operations.
|
||||||
|
|||||||
+2
-1
@@ -1,10 +1,11 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.horses.infrastructure.persistence
|
package at.mocode.horses.infrastructure.persistence
|
||||||
|
|
||||||
import at.mocode.core.domain.model.PferdeGeschlechtE
|
import at.mocode.core.domain.model.PferdeGeschlechtE
|
||||||
import at.mocode.horses.domain.model.DomPferd
|
import at.mocode.horses.domain.model.DomPferd
|
||||||
import at.mocode.horses.domain.repository.HorseRepository
|
import at.mocode.horses.domain.repository.HorseRepository
|
||||||
import at.mocode.core.utils.database.DatabaseFactory
|
import at.mocode.core.utils.database.DatabaseFactory
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import org.jetbrains.exposed.sql.*
|
import org.jetbrains.exposed.sql.*
|
||||||
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
|
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
|
||||||
|
|||||||
-1
@@ -2,7 +2,6 @@ package at.mocode.horses.infrastructure.persistence
|
|||||||
|
|
||||||
import at.mocode.core.domain.model.PferdeGeschlechtE
|
import at.mocode.core.domain.model.PferdeGeschlechtE
|
||||||
import at.mocode.core.domain.model.DatenQuelleE
|
import at.mocode.core.domain.model.DatenQuelleE
|
||||||
import com.benasher44.uuid.Uuid
|
|
||||||
import org.jetbrains.exposed.dao.id.UUIDTable
|
import org.jetbrains.exposed.dao.id.UUIDTable
|
||||||
import org.jetbrains.exposed.sql.kotlin.datetime.date
|
import org.jetbrains.exposed.sql.kotlin.datetime.date
|
||||||
import org.jetbrains.exposed.sql.kotlin.datetime.timestamp
|
import org.jetbrains.exposed.sql.kotlin.datetime.timestamp
|
||||||
|
|||||||
+6
-5
@@ -1,3 +1,4 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.masterdata.api.rest
|
package at.mocode.masterdata.api.rest
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
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.application.usecase.GetBundeslandUseCase
|
||||||
import at.mocode.masterdata.domain.model.BundeslandDefinition
|
import at.mocode.masterdata.domain.model.BundeslandDefinition
|
||||||
import at.mocode.core.utils.validation.ApiValidationUtils
|
import at.mocode.core.utils.validation.ApiValidationUtils
|
||||||
import com.benasher44.uuid.uuidFrom
|
import kotlin.uuid.Uuid
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.request.*
|
import io.ktor.server.request.*
|
||||||
import io.ktor.server.response.*
|
import io.ktor.server.response.*
|
||||||
@@ -105,7 +106,7 @@ class BundeslandController(
|
|||||||
// GET /api/masterdata/bundeslaender/{id} - Get federal state by ID
|
// GET /api/masterdata/bundeslaender/{id} - Get federal state by ID
|
||||||
get("/{id}") {
|
get("/{id}") {
|
||||||
try {
|
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<BundeslandDto>("Invalid federal state ID"))
|
?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<BundeslandDto>("Invalid federal state ID"))
|
||||||
|
|
||||||
val bundesland = getBundeslandUseCase.getById(bundeslandId)
|
val bundesland = getBundeslandUseCase.getById(bundeslandId)
|
||||||
@@ -129,7 +130,7 @@ class BundeslandController(
|
|||||||
?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<BundeslandDto>("Country ID (landId) is required"))
|
?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<BundeslandDto>("Country ID (landId) is required"))
|
||||||
|
|
||||||
val landId = try {
|
val landId = try {
|
||||||
uuidFrom(landIdParam)
|
Uuid.parse(landIdParam)
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<BundeslandDto>("Invalid country ID format"))
|
return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<BundeslandDto>("Invalid country ID format"))
|
||||||
}
|
}
|
||||||
@@ -169,7 +170,7 @@ class BundeslandController(
|
|||||||
// GET /api/masterdata/bundeslaender/country/{countryId} - Get federal states by country
|
// GET /api/masterdata/bundeslaender/country/{countryId} - Get federal states by country
|
||||||
get("/country/{countryId}") {
|
get("/country/{countryId}") {
|
||||||
try {
|
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<List<BundeslandDto>>("Invalid country ID"))
|
?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<List<BundeslandDto>>("Invalid country ID"))
|
||||||
|
|
||||||
val activeOnlyParam = call.request.queryParameters["activeOnly"]
|
val activeOnlyParam = call.request.queryParameters["activeOnly"]
|
||||||
@@ -207,7 +208,7 @@ class BundeslandController(
|
|||||||
|
|
||||||
val limit = call.request.queryParameters["limit"]?.toIntOrNull() ?: 50
|
val limit = call.request.queryParameters["limit"]?.toIntOrNull() ?: 50
|
||||||
val landIdParam = call.request.queryParameters["landId"]
|
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 bundeslaender = getBundeslandUseCase.searchByName(searchTerm, landId, limit)
|
||||||
val bundeslandDtos = bundeslaender.map { it.toDto() }
|
val bundeslandDtos = bundeslaender.map { it.toDto() }
|
||||||
|
|||||||
+3
-2
@@ -1,3 +1,4 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.masterdata.api.rest
|
package at.mocode.masterdata.api.rest
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
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.application.usecase.GetCountryUseCase
|
||||||
import at.mocode.masterdata.domain.model.LandDefinition
|
import at.mocode.masterdata.domain.model.LandDefinition
|
||||||
import at.mocode.core.utils.validation.ApiValidationUtils
|
import at.mocode.core.utils.validation.ApiValidationUtils
|
||||||
import com.benasher44.uuid.uuidFrom
|
import kotlin.uuid.Uuid
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.request.*
|
import io.ktor.server.request.*
|
||||||
import io.ktor.server.response.*
|
import io.ktor.server.response.*
|
||||||
@@ -111,7 +112,7 @@ class CountryController(
|
|||||||
// GET /api/masterdata/countries/{id} - Get country by ID
|
// GET /api/masterdata/countries/{id} - Get country by ID
|
||||||
get("/{id}") {
|
get("/{id}") {
|
||||||
try {
|
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<CountryDto>("Invalid country ID"))
|
?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<CountryDto>("Invalid country ID"))
|
||||||
|
|
||||||
val country = getCountryUseCase.getById(countryId)
|
val country = getCountryUseCase.getById(countryId)
|
||||||
|
|||||||
+4
-3
@@ -1,3 +1,4 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.masterdata.api.rest
|
package at.mocode.masterdata.api.rest
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
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.application.usecase.GetPlatzUseCase
|
||||||
import at.mocode.masterdata.domain.model.Platz
|
import at.mocode.masterdata.domain.model.Platz
|
||||||
import at.mocode.core.utils.validation.ApiValidationUtils
|
import at.mocode.core.utils.validation.ApiValidationUtils
|
||||||
import com.benasher44.uuid.uuidFrom
|
import kotlin.uuid.Uuid
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.request.*
|
import io.ktor.server.request.*
|
||||||
import io.ktor.server.response.*
|
import io.ktor.server.response.*
|
||||||
@@ -78,7 +79,7 @@ class PlatzController(
|
|||||||
// GET /api/masterdata/plaetze/{id} - Get venue by ID
|
// GET /api/masterdata/plaetze/{id} - Get venue by ID
|
||||||
get("/{id}") {
|
get("/{id}") {
|
||||||
try {
|
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<PlatzDto>("Invalid venue ID"))
|
?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<PlatzDto>("Invalid venue ID"))
|
||||||
|
|
||||||
val platz = getPlatzUseCase.getById(platzId)
|
val platz = getPlatzUseCase.getById(platzId)
|
||||||
@@ -95,7 +96,7 @@ class PlatzController(
|
|||||||
// GET /api/masterdata/plaetze/tournament/{turnierId} - Get venues by tournament
|
// GET /api/masterdata/plaetze/tournament/{turnierId} - Get venues by tournament
|
||||||
get("/tournament/{turnierId}") {
|
get("/tournament/{turnierId}") {
|
||||||
try {
|
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<List<PlatzDto>>("Invalid tournament ID"))
|
?: return@get call.respond(HttpStatusCode.BadRequest, ApiResponse.error<List<PlatzDto>>("Invalid tournament ID"))
|
||||||
|
|
||||||
val activeOnlyParam = call.request.queryParameters["activeOnly"]
|
val activeOnlyParam = call.request.queryParameters["activeOnly"]
|
||||||
|
|||||||
+3
-3
@@ -1,10 +1,10 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.masterdata.domain.model
|
package at.mocode.masterdata.domain.model
|
||||||
|
|
||||||
import at.mocode.core.domain.model.SparteE // Optional, falls Altersklassen stark spartenspezifisch sind
|
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.KotlinInstantSerializer
|
||||||
import at.mocode.core.domain.serialization.UuidSerializer
|
import at.mocode.core.domain.serialization.UuidSerializer
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -37,7 +37,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class AltersklasseDefinition(
|
data class AltersklasseDefinition(
|
||||||
@Serializable(with = UuidSerializer::class)
|
@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 altersklasseCode: String, // Fachlicher PK, z.B. "JGD_U16"
|
||||||
var bezeichnung: String,
|
var bezeichnung: String,
|
||||||
|
|||||||
+3
-3
@@ -1,9 +1,9 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.masterdata.domain.model
|
package at.mocode.masterdata.domain.model
|
||||||
|
|
||||||
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
||||||
import at.mocode.core.domain.serialization.UuidSerializer
|
import at.mocode.core.domain.serialization.UuidSerializer
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -31,7 +31,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class BundeslandDefinition(
|
data class BundeslandDefinition(
|
||||||
@Serializable(with = UuidSerializer::class)
|
@Serializable(with = UuidSerializer::class)
|
||||||
val bundeslandId: Uuid = uuid4(),
|
val bundeslandId: Uuid = Uuid.random(),
|
||||||
|
|
||||||
@Serializable(with = UuidSerializer::class)
|
@Serializable(with = UuidSerializer::class)
|
||||||
var landId: Uuid, // FK zu LandDefinition.landId
|
var landId: Uuid, // FK zu LandDefinition.landId
|
||||||
|
|||||||
+3
-3
@@ -1,9 +1,9 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.masterdata.domain.model
|
package at.mocode.masterdata.domain.model
|
||||||
|
|
||||||
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
||||||
import at.mocode.core.domain.serialization.UuidSerializer
|
import at.mocode.core.domain.serialization.UuidSerializer
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -31,7 +31,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class LandDefinition(
|
data class LandDefinition(
|
||||||
@Serializable(with = UuidSerializer::class)
|
@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 isoAlpha2Code: String, // z.B. "AT" → Fachlicher PK oder Unique Constraint
|
||||||
var isoAlpha3Code: String, // z.B. "AUT" -> Unique Constraint
|
var isoAlpha3Code: String, // z.B. "AUT" -> Unique Constraint
|
||||||
|
|||||||
+3
-3
@@ -1,10 +1,10 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.masterdata.domain.model
|
package at.mocode.masterdata.domain.model
|
||||||
|
|
||||||
import at.mocode.core.domain.model.PlatzTypE
|
import at.mocode.core.domain.model.PlatzTypE
|
||||||
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
||||||
import at.mocode.core.domain.serialization.UuidSerializer
|
import at.mocode.core.domain.serialization.UuidSerializer
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -29,7 +29,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class Platz(
|
data class Platz(
|
||||||
@Serializable(with = UuidSerializer::class)
|
@Serializable(with = UuidSerializer::class)
|
||||||
val id: Uuid = uuid4(),
|
val id: Uuid = Uuid.random(),
|
||||||
|
|
||||||
@Serializable(with = UuidSerializer::class)
|
@Serializable(with = UuidSerializer::class)
|
||||||
var turnierId: Uuid,
|
var turnierId: Uuid,
|
||||||
|
|||||||
+5
-4
@@ -1,10 +1,11 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.members.api.rest
|
package at.mocode.members.api.rest
|
||||||
|
|
||||||
import at.mocode.core.domain.model.ApiResponse
|
import at.mocode.core.domain.model.ApiResponse
|
||||||
import at.mocode.infrastructure.messaging.client.EventPublisher
|
import at.mocode.infrastructure.messaging.client.EventPublisher
|
||||||
import at.mocode.members.application.usecase.*
|
import at.mocode.members.application.usecase.*
|
||||||
import at.mocode.members.domain.repository.MemberRepository
|
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.Operation
|
||||||
import io.swagger.v3.oas.annotations.Parameter
|
import io.swagger.v3.oas.annotations.Parameter
|
||||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||||
@@ -166,7 +167,7 @@ class MemberController(
|
|||||||
): ResponseEntity<ApiResponse<*>> {
|
): ResponseEntity<ApiResponse<*>> {
|
||||||
return handleUseCaseExecution(
|
return handleUseCaseExecution(
|
||||||
operation = {
|
operation = {
|
||||||
val memberId = uuidFrom(id)
|
val memberId = Uuid.parse(id)
|
||||||
val request = GetMemberUseCase.GetMemberRequest(memberId)
|
val request = GetMemberUseCase.GetMemberRequest(memberId)
|
||||||
getMemberUseCase.execute(request)
|
getMemberUseCase.execute(request)
|
||||||
},
|
},
|
||||||
@@ -287,7 +288,7 @@ class MemberController(
|
|||||||
@PreAuthorize("hasAuthority('PERSON_UPDATE')")
|
@PreAuthorize("hasAuthority('PERSON_UPDATE')")
|
||||||
fun updateMember(@PathVariable id: String, @RequestBody updateRequest: UpdateMemberRequest): ResponseEntity<ApiResponse<*>> {
|
fun updateMember(@PathVariable id: String, @RequestBody updateRequest: UpdateMemberRequest): ResponseEntity<ApiResponse<*>> {
|
||||||
return try {
|
return try {
|
||||||
val memberId = uuidFrom(id)
|
val memberId = Uuid.parse(id)
|
||||||
val useCaseRequest = UpdateMemberUseCase.UpdateMemberRequest(
|
val useCaseRequest = UpdateMemberUseCase.UpdateMemberRequest(
|
||||||
memberId = memberId,
|
memberId = memberId,
|
||||||
firstName = updateRequest.firstName,
|
firstName = updateRequest.firstName,
|
||||||
@@ -395,7 +396,7 @@ class MemberController(
|
|||||||
@RequestParam(required = false) excludeMemberId: String?
|
@RequestParam(required = false) excludeMemberId: String?
|
||||||
): ResponseEntity<ApiResponse<*>> {
|
): ResponseEntity<ApiResponse<*>> {
|
||||||
return try {
|
return try {
|
||||||
val excludeId = excludeMemberId?.let { uuidFrom(it) }
|
val excludeId = excludeMemberId?.let { Uuid.parse(it) }
|
||||||
val request = ValidateMemberDataUseCase.ValidateEmailRequest(email, excludeId)
|
val request = ValidateMemberDataUseCase.ValidateEmailRequest(email, excludeId)
|
||||||
val response = runBlocking { validateMemberDataUseCase.validateEmail(request) }
|
val response = runBlocking { validateMemberDataUseCase.validateEmail(request) }
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,10 +1,10 @@
|
|||||||
|
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||||
package at.mocode.members.domain.model
|
package at.mocode.members.domain.model
|
||||||
|
|
||||||
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
||||||
import at.mocode.core.domain.serialization.KotlinLocalDateSerializer
|
import at.mocode.core.domain.serialization.KotlinLocalDateSerializer
|
||||||
import at.mocode.core.domain.serialization.UuidSerializer
|
import at.mocode.core.domain.serialization.UuidSerializer
|
||||||
import com.benasher44.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
@@ -36,7 +36,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class Member(
|
data class Member(
|
||||||
@Serializable(with = UuidSerializer::class)
|
@Serializable(with = UuidSerializer::class)
|
||||||
val memberId: Uuid = uuid4(),
|
val memberId: Uuid = Uuid.random(),
|
||||||
|
|
||||||
// Personal Information
|
// Personal Information
|
||||||
var firstName: String,
|
var firstName: String,
|
||||||
|
|||||||
Reference in New Issue
Block a user