refactoring:

Gateway-Profile und Tests wurden geprüft, keine /api/auth/**-Routen gefunden. Projektweite Suche ergab keine buildkritischen Referenzen. Alle Tests und der Build liefen erfolgreich ohne notwendige Codeänderungen.

Die Lösung zentralisierte die Frontend-Konfiguration durch Hinzufügen von AppConfig mit umgebungsspezifischen URLs. Die Clients wurden so umstrukturiert, dass sie AppConfig-Werte anstelle von fest codierten URLs verwenden. Alle Gateway-Tests wurden erfolgreich abgeschlossen und das Projekt konnte ohne schwerwiegende Fehler kompiliert werden.
This commit is contained in:
2025-11-24 21:03:32 +01:00
parent 2935190fcd
commit d11ee48fde
29 changed files with 830 additions and 1924 deletions
+6 -14
View File
@@ -36,7 +36,7 @@ kotlin {
// ...
}
// WASM, nur wenn explizit aktiviert
// WASM, nur wenn explizit aktiviert
if (enableWasm) {
@OptIn(ExperimentalWasmDsl::class)
wasmJs { browser() }
@@ -58,6 +58,10 @@ kotlin {
implementation(libs.ktor.client.logging)
implementation(libs.ktor.client.auth)
// Compose für shared UI components (common)
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
}
commonTest.dependencies {
@@ -67,29 +71,17 @@ kotlin {
jvmMain.dependencies {
implementation(libs.ktor.client.cio)
// Compose für shared UI components
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
}
jsMain.dependencies {
implementation(libs.ktor.client.js)
// Compose für shared UI components
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
}
// WASM SourceSet, nur wenn aktiviert
if (enableWasm) {
val wasmJsMain = getByName("wasmJsMain")
wasmJsMain.dependencies {
implementation(libs.ktor.client.js) // WASM verwendet JS-Client [cite: 7]
// ✅ HINZUFÜGEN: Compose für shared UI components für WASM
implementation(libs.ktor.client.js) // WASM verwendet JS-Client
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
@@ -0,0 +1,17 @@
package at.mocode.clients.shared
/**
* Zentrale App-Konfiguration für alle Client-Module.
* Hinweis: Diese Werte sind zentrale Defaults für DEV. Für PROD sollten sie
* via Build-Injektion (Gradle/ENV) überschrieben werden. Ein einfaches
* BuildConfig-Setup kann später ergänzt werden.
*/
object AppConfig {
// Gateway Basis-URL (API Gateway)
const val GATEWAY_URL: String = "http://localhost:8081"
// Keycloak Konfiguration
const val KEYCLOAK_URL: String = "http://localhost:8180"
const val KEYCLOAK_REALM: String = "meldestelle"
const val KEYCLOAK_CLIENT_ID: String = "meldestelle-frontend"
}