From 0d7d072fc73ff2bdcee5557da5acce2d7cf13b1e Mon Sep 17 00:00:00 2001 From: Koen <koen@pop-os.localdomain> Date: Tue, 12 Sep 2023 19:55:16 +0200 Subject: [PATCH] Added temporary placeholder method. --- .../com/futo/polycentric/core/ApiMethods.kt | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt b/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt index 163de01..146086a 100644 --- a/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt +++ b/app/src/main/java/com/futo/polycentric/core/ApiMethods.kt @@ -59,7 +59,28 @@ class ApiMethods { .setTrustRoot(trustRoot) .setMatchAnyField(matchAnyField) .build().toByteArray().toBase64Url() - val request = getRequestBuilder("$server/resolve_claim?query=$query").get().build() + val url = "$server/resolve_claim?query=$query" + Log.i("ApiMethods", "getResolveClaim(server = $server, claimType = $claimType, matchAnyField = $matchAnyField, trustRoot = ${trustRoot.key.toByteArray().toBase64Url()}) URL: $url") + val request = getRequestBuilder(url).get().build() + executeCall(client.newCall(request)) { response -> + if (!response.isSuccessful) { + val formattedMessage = "getResolveClaim to $server failed with status code ${response.code}. Response body: ${response.body?.string().orEmpty()}" + throw Exception(formattedMessage) + } + Protocol.QueryClaimToSystemResponse.parseFrom(response.body?.byteStream()) + } + } + + suspend fun getResolveClaim(server: String, trustRoot: Protocol.PublicKey, claimType: Long, fieldType: Int, value: String): Protocol.QueryClaimToSystemResponse = withContext(Dispatchers.IO) { + //TODO: Implement fieldType, value here once API supports it + val query = Protocol.QueryClaimToSystemRequest.newBuilder() + .setClaimType(claimType) + .setTrustRoot(trustRoot) + .setMatchAnyField(value) + .build().toByteArray().toBase64Url() + val url = "$server/resolve_claim?query=$query" + Log.i("ApiMethods", "getResolveClaim(server = $server, claimType = $claimType, fieldType = $fieldType, value = $value, trustRoot = ${trustRoot.key.toByteArray().toBase64Url()}) URL: $url") + val request = getRequestBuilder(url).get().build() executeCall(client.newCall(request)) { response -> if (!response.isSuccessful) { val formattedMessage = "getResolveClaim to $server failed with status code ${response.code}. Response body: ${response.body?.string().orEmpty()}" -- GitLab