Skip to content
Snippets Groups Projects
Commit d79f8718 authored by Koen's avatar Koen
Browse files

Implemented updated QueryReferences API.

parent 23199615
No related branches found
No related tags found
No related merge requests found
......@@ -10,10 +10,8 @@ import org.junit.Assert.*
import org.junit.Test
import org.junit.runner.RunWith
import userpackage.Protocol
import userpackage.Protocol.QueryReferencesResponseItem
import java.io.ByteArrayOutputStream
@RunWith(AndroidJUnit4::class)
class ProcessHandleTests {
@Test
......@@ -232,16 +230,19 @@ class ProcessHandleTests {
babbage.fullyBackfillServers()
turing.fullyBackfillServers()
val queryReferences = ApiMethods.getQueryReferences(SERVER, subject, ContentType.POST.value, null,
arrayListOf(Protocol.CountLWWElementReferences.newBuilder()
val queryReferences = ApiMethods.getQueryReferences(SERVER, subject, null,
Protocol.QueryReferencesRequestEvents.newBuilder()
.setFromType(ContentType.POST.value)
.build(),
arrayListOf(Protocol.QueryReferencesRequestCountLWWElementReferences.newBuilder()
.setFromType(ContentType.OPINION.value)
.setValue(ByteString.copyFrom(Opinion.like.data))
.build(),
Protocol.CountLWWElementReferences.newBuilder()
Protocol.QueryReferencesRequestCountLWWElementReferences.newBuilder()
.setFromType(ContentType.OPINION.value)
.setValue(ByteString.copyFrom(Opinion.dislike.data))
.build()),
arrayListOf(Protocol.CountReferences.newBuilder()
arrayListOf(Protocol.QueryReferencesRequestCountReferences.newBuilder()
.setFromType(ContentType.POST.value)
.build())
)
......@@ -249,7 +250,7 @@ class ProcessHandleTests {
assertEquals(rootPosts.count(), queryReferences.itemsCount)
val pointerToString = { pointer: Pointer -> pointer.toProto().toByteArray().toBase64() }
val pointerToItem: HashMap<String, QueryReferencesResponseItem> = hashMapOf()
val pointerToItem: HashMap<String, Protocol.QueryReferencesResponseEventItem> = hashMapOf()
for (item in queryReferences.itemsList) {
assertTrue(item.hasEvent())
......
......@@ -99,9 +99,13 @@ class ApiMethods {
return Protocol.Events.parseFrom(result.get())
}
fun getQueryReferences(server: String, reference: Protocol.Reference, fromType: Long? = null, cursor: ByteArray? = null, countLwwElementReferences: List<Protocol.CountLWWElementReferences>? = null, countReferences: List<Protocol.CountReferences>? = null): Protocol.QueryReferencesResponse {
fun getQueryReferences(server: String, reference: Protocol.Reference, cursor: ByteArray? = null,
requestEvents: Protocol.QueryReferencesRequestEvents? = null,
countLwwElementReferences: List<Protocol.QueryReferencesRequestCountLWWElementReferences>? = null,
countReferences: List<Protocol.QueryReferencesRequestCountReferences>? = null): Protocol.QueryReferencesResponse
{
val builder = Protocol.QueryReferencesRequest.newBuilder().setReference(reference)
if (fromType != null) builder.fromType = fromType
if (requestEvents != null) builder.requestEvents = requestEvents
if (cursor != null) builder.cursor = ByteString.copyFrom(cursor)
if (countLwwElementReferences != null) builder.addAllCountLwwElementReferences(countLwwElementReferences)
if (countReferences != null) builder.addAllCountReferences(countReferences)
......
......@@ -195,34 +195,45 @@ message RepeatedUInt64 {
repeated uint64 numbers = 1;
}
message CountLWWElementReferences {
// start /query_references API
message QueryReferencesRequest {
Reference reference = 1;
optional bytes cursor = 2;
optional QueryReferencesRequestEvents request_events = 3;
repeated QueryReferencesRequestCountLWWElementReferences count_lww_element_references = 4;
repeated QueryReferencesRequestCountReferences count_references = 5;
}
message QueryReferencesRequestEvents {
optional uint64 from_type = 1;
repeated QueryReferencesRequestCountLWWElementReferences count_lww_element_references = 2;
repeated QueryReferencesRequestCountReferences count_references = 3;
}
message QueryReferencesRequestCountLWWElementReferences {
bytes value = 1;
optional uint64 from_type = 2;
}
message CountReferences {
message QueryReferencesRequestCountReferences {
optional uint64 from_type = 1;
}
message QueryReferencesRequest {
Reference reference = 1;
optional bytes cursor = 2;
optional uint64 from_type = 3;
repeated CountLWWElementReferences count_lww_element_references = 4;
repeated CountReferences count_references = 5;
}
message QueryReferencesResponseItem {
message QueryReferencesResponseEventItem {
SignedEvent event = 1;
repeated uint64 counts = 2;
}
message QueryReferencesResponse {
repeated QueryReferencesResponseItem items = 1;
repeated SignedEvent related_events = 2;
optional bytes cursor = 3;
repeated QueryReferencesResponseEventItem items = 1;
repeated SignedEvent related_events = 2;
optional bytes cursor = 3;
repeated uint64 counts = 4;
}
// end /query_references API
message URLInfo {
// url_type 1 = URLInfoSystemLink
// url_type 2 = URLInfoEventLink
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment