feat: integrate new desktop shell and extend backend & ADRs
- Added `meldestelle-desktop` module using JVM/Compose Desktop, registered in `settings.gradle.kts`. - Integrated new screens and desktop navigation into core: `Veranstaltungen`, `TurnierDetail`, etc. - Expanded backend with `ExposedFunktionaerRepository` in `officials-infrastructure`. - Completed ADRs for bounded context mapping (`ADR-0014`) and context map (`ADR-0015`). - Updated and extended project documentation with session logs and architecture decisions. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -32,6 +32,7 @@ kotlin {
|
||||
commonMain {
|
||||
dependencies {
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
implementation(projects.core.coreDomain)
|
||||
}
|
||||
}
|
||||
commonTest {
|
||||
|
||||
+134
@@ -0,0 +1,134 @@
|
||||
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||
|
||||
package at.mocode.entries.api
|
||||
|
||||
import at.mocode.core.domain.model.NennungsStatusE
|
||||
import at.mocode.core.domain.model.StartwunschE
|
||||
import at.mocode.core.domain.serialization.UuidSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.uuid.Uuid
|
||||
|
||||
/**
|
||||
* Vollständige Nennungs-Details (für GET /{id}, POST, PUT, DELETE Responses).
|
||||
*/
|
||||
@Serializable
|
||||
data class NennungDetailDto(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val nennungId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val abteilungId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val bewerbId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val turnierId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val reiterId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val pferdId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val zahlerId: Uuid? = null,
|
||||
val status: NennungsStatusE,
|
||||
val startwunsch: StartwunschE,
|
||||
val istNachnennung: Boolean,
|
||||
val nachnenngebuehrErlassen: Boolean,
|
||||
val isNachnenngebuehrFaellig: Boolean,
|
||||
val bemerkungen: String? = null,
|
||||
val createdAt: String,
|
||||
val updatedAt: String
|
||||
)
|
||||
|
||||
/**
|
||||
* Kompakte Nennungs-Übersicht (für Listen-Endpunkte).
|
||||
*/
|
||||
@Serializable
|
||||
data class NennungSummaryDto(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val nennungId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val turnierId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val bewerbId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val abteilungId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val reiterId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val pferdId: Uuid,
|
||||
val status: NennungsStatusE,
|
||||
val istNachnennung: Boolean,
|
||||
val createdAt: String
|
||||
)
|
||||
|
||||
/**
|
||||
* Request zum Einreichen einer neuen Nennung (POST /).
|
||||
*/
|
||||
@Serializable
|
||||
data class NennungEinreichenRequest(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val abteilungId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val bewerbId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val turnierId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val reiterId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val pferdId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val zahlerId: Uuid? = null,
|
||||
val startwunsch: StartwunschE = StartwunschE.KEIN_WUNSCH,
|
||||
val istNachnennung: Boolean = false,
|
||||
val bemerkungen: String? = null
|
||||
)
|
||||
|
||||
/**
|
||||
* Request zum Ändern des Nennungs-Status (PUT /{id}/status).
|
||||
*/
|
||||
@Serializable
|
||||
data class NennungStatusAendernRequest(
|
||||
val neuerStatus: NennungsStatusE,
|
||||
val bemerkungen: String? = null
|
||||
)
|
||||
|
||||
/**
|
||||
* Request für einen Nennungs-Transfer (POST /{id}/transfer).
|
||||
*/
|
||||
@Serializable
|
||||
data class NennungTransferRequest(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val neuerReiterId: Uuid? = null,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val neuesPferdId: Uuid? = null,
|
||||
val istNachNennschluss: Boolean = false,
|
||||
val nachnenngebuehrErlassen: Boolean = false,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val autorisiertVon: Uuid,
|
||||
val grund: String? = null
|
||||
)
|
||||
|
||||
/**
|
||||
* Response für einen abgeschlossenen Nennungs-Transfer.
|
||||
*/
|
||||
@Serializable
|
||||
data class NennungsTransferDto(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val transferId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val ursprungsNennungId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val neueNennungId: Uuid,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val alterReiterId: Uuid? = null,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val neuerReiterId: Uuid? = null,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val altesPferdId: Uuid? = null,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val neuesPferdId: Uuid? = null,
|
||||
val istNachNennschluss: Boolean,
|
||||
val nachnenngebuehrErlassen: Boolean,
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val autorisiertVon: Uuid,
|
||||
val grund: String? = null,
|
||||
val createdAt: String
|
||||
)
|
||||
Reference in New Issue
Block a user