refactoring:
Ein UseCase zur Sicherstellung von Member-Profilen wurde implementiert und ein Sync-Endpunkt im Backend hinzugefügt. Das Frontend löst nach Login einen einmaligen Sync-Call aus, optional wurde eine Komfortfunktion im MembersApiClient ergänzt. Build und Tests wurden erfolgreich ausgeführt, alle Gateway-Tests sind grün.
This commit is contained in:
+16
@@ -5,6 +5,7 @@ import at.mocode.clients.shared.AppConfig
|
|||||||
import at.mocode.clients.membersfeature.model.MemberProfile
|
import at.mocode.clients.membersfeature.model.MemberProfile
|
||||||
import io.ktor.client.call.*
|
import io.ktor.client.call.*
|
||||||
import io.ktor.client.request.*
|
import io.ktor.client.request.*
|
||||||
|
import io.ktor.http.*
|
||||||
import at.mocode.clients.authfeature.AuthenticatedHttpClient.addAuthHeader
|
import at.mocode.clients.authfeature.AuthenticatedHttpClient.addAuthHeader
|
||||||
|
|
||||||
class MembersApiClient(
|
class MembersApiClient(
|
||||||
@@ -18,4 +19,19 @@ class MembersApiClient(
|
|||||||
addAuthHeader()
|
addAuthHeader()
|
||||||
}.body()
|
}.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
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user