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