feat(horses-service): remove legacy configuration and repository classes
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m12s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m42s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 6m28s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m51s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m12s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m42s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 6m28s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m51s
- Deleted outdated `ApplicationConfiguration` and `HorseRepositoryImpl` classes. - Migrated to streamlined modular Gradle configuration in `build.gradle.kts`. - Updated domain models and dependencies to use multiplatform and serialization plugins. - Added modular setup for `horses` namespace in `settings.gradle.kts`. - Reorganized database configuration with minimal JDBC bindings for development. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
plugins {
|
||||
alias(libs.plugins.kotlinMultiplatform)
|
||||
alias(libs.plugins.kotlinSerialization)
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
kotlin.srcDir("src/main/kotlin")
|
||||
dependencies {
|
||||
implementation(projects.core.coreDomain)
|
||||
implementation(projects.core.coreUtils)
|
||||
implementation(libs.kotlinx.datetime)
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
}
|
||||
}
|
||||
commonTest {
|
||||
kotlin.srcDir("src/test/kotlin")
|
||||
dependencies {
|
||||
implementation(projects.platform.platformTesting)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
@file:OptIn(kotlin.uuid.ExperimentalUuidApi::class)
|
||||
|
||||
package at.mocode.persons.domain.model
|
||||
|
||||
import at.mocode.core.domain.model.DatenQuelleE
|
||||
import at.mocode.core.domain.serialization.KotlinInstantSerializer
|
||||
import at.mocode.core.domain.serialization.UuidSerializer
|
||||
import kotlinx.datetime.LocalDate
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
import kotlin.time.Instant
|
||||
import kotlin.uuid.Uuid
|
||||
|
||||
/**
|
||||
* Domain model representing a person (rider/member) in the registry system.
|
||||
*
|
||||
* @property personId Unique internal identifier (UUID).
|
||||
* @property lizenzNummer ÖPS license number (from ZNS LIZENZ01.dat).
|
||||
* @property nachname Last name.
|
||||
* @property vorname First name.
|
||||
* @property geschlecht Gender code (M/W).
|
||||
* @property geburtsdatum Date of birth.
|
||||
* @property nation Nation code (e.g. AUT).
|
||||
* @property lizenzKlasse License class (e.g. R1, R2, RD2).
|
||||
* @property mitgliedsNummer Membership number.
|
||||
* @property vereinsNummer Club number.
|
||||
* @property vereinsName Club name.
|
||||
* @property datenQuelle Source of the data.
|
||||
* @property createdAt Timestamp when this record was created.
|
||||
* @property updatedAt Timestamp when this record was last updated.
|
||||
*/
|
||||
@Serializable
|
||||
data class DomPerson(
|
||||
@Serializable(with = UuidSerializer::class)
|
||||
val personId: Uuid = Uuid.random(),
|
||||
|
||||
val lizenzNummer: String,
|
||||
val nachname: String,
|
||||
val vorname: String,
|
||||
|
||||
val geschlecht: String? = null,
|
||||
val geburtsdatum: LocalDate? = null,
|
||||
val nation: String? = null,
|
||||
val lizenzKlasse: String? = null,
|
||||
val mitgliedsNummer: String? = null,
|
||||
val vereinsNummer: String? = null,
|
||||
val vereinsName: String? = null,
|
||||
|
||||
val istAktiv: Boolean = true,
|
||||
val datenQuelle: DatenQuelleE = DatenQuelleE.IMPORT_ZNS,
|
||||
|
||||
@Serializable(with = KotlinInstantSerializer::class)
|
||||
val createdAt: Instant = Clock.System.now(),
|
||||
@Serializable(with = KotlinInstantSerializer::class)
|
||||
var updatedAt: Instant = Clock.System.now()
|
||||
) {
|
||||
fun getDisplayName(): String = "$vorname $nachname"
|
||||
}
|
||||
Reference in New Issue
Block a user