From 286c1aa88188cdeed35a86bee3f3b45e0dd91e0a Mon Sep 17 00:00:00 2001 From: StefanMoCoAt Date: Mon, 24 Nov 2025 22:33:42 +0100 Subject: [PATCH] =?UTF-8?q?refactoring:=20Ein=20UseCase=20zur=20Sicherstel?= =?UTF-8?q?lung=20von=20Member-Profilen=20wurde=20implementiert=20und=20ei?= =?UTF-8?q?n=20Sync-Endpunkt=20im=20Backend=20hinzugef=C3=BCgt.=20Das=20Fr?= =?UTF-8?q?ontend=20l=C3=B6st=20nach=20Login=20einen=20einmaligen=20Sync-C?= =?UTF-8?q?all=20aus,=20optional=20wurde=20eine=20Komfortfunktion=20im=20M?= =?UTF-8?q?embersApiClient=20erg=C3=A4nzt.=20Build=20und=20Tests=20wurden?= =?UTF-8?q?=20erfolgreich=20ausgef=C3=BChrt,=20alle=20Gateway-Tests=20sind?= =?UTF-8?q?=20gr=C3=BCn.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clients/membersfeature/MembersApiClient.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/clients/members-feature/src/commonMain/kotlin/at/mocode/clients/membersfeature/MembersApiClient.kt b/clients/members-feature/src/commonMain/kotlin/at/mocode/clients/membersfeature/MembersApiClient.kt index 3e1dafc4..ebc2d19f 100644 --- a/clients/members-feature/src/commonMain/kotlin/at/mocode/clients/membersfeature/MembersApiClient.kt +++ b/clients/members-feature/src/commonMain/kotlin/at/mocode/clients/membersfeature/MembersApiClient.kt @@ -5,6 +5,7 @@ import at.mocode.clients.shared.AppConfig import at.mocode.clients.membersfeature.model.MemberProfile import io.ktor.client.call.* import io.ktor.client.request.* +import io.ktor.http.* import at.mocode.clients.authfeature.AuthenticatedHttpClient.addAuthHeader class MembersApiClient( @@ -18,4 +19,19 @@ class MembersApiClient( addAuthHeader() }.body() } + + /** + * Optionaler Convenience-Call: Löst den Backend-Sync einmalig aus. + * Gibt true zurück, wenn der Call erfolgreich war (HTTP 2xx), sonst false. + */ + suspend fun syncProfile(): Boolean { + return try { + val response = client.post("$baseUrl/api/members/sync") { + addAuthHeader() + } + response.status.isSuccess() + } catch (_: Exception) { + false + } + } }