From 80a25733cec56156f0c5f2e1aea255d3b899902d Mon Sep 17 00:00:00 2001 From: Maxim Dorofeev Date: Sun, 8 Aug 2021 10:26:29 +0300 Subject: [PATCH] Fixed aggregate collections (#19) --- src/main/kotlin/ee/nx01/tonclient/net/NetModule.kt | 2 +- src/main/kotlin/ee/nx01/tonclient/net/Types.kt | 6 +++++- src/test/kotlin/ee/nx01/tonclient/net/NetModuletTest.kt | 9 +++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/ee/nx01/tonclient/net/NetModule.kt b/src/main/kotlin/ee/nx01/tonclient/net/NetModule.kt index 080d264..ac68c86 100644 --- a/src/main/kotlin/ee/nx01/tonclient/net/NetModule.kt +++ b/src/main/kotlin/ee/nx01/tonclient/net/NetModule.kt @@ -67,7 +67,7 @@ class NetModule(private val tonClient: TonClient) { * Aggregates collection data. * Aggregates values from the specified fields for records that satisfies the filter conditions, */ - suspend fun aggregateCollection(params: ParamsOfAggregateCollection): ResultOfQuery { + suspend fun aggregateCollection(params: ParamsOfAggregateCollection): ResultOfAggregateCollection { return tonClient.request("net.aggregate_collection", params) } diff --git a/src/main/kotlin/ee/nx01/tonclient/net/Types.kt b/src/main/kotlin/ee/nx01/tonclient/net/Types.kt index 002f411..8107309 100644 --- a/src/main/kotlin/ee/nx01/tonclient/net/Types.kt +++ b/src/main/kotlin/ee/nx01/tonclient/net/Types.kt @@ -17,7 +17,7 @@ data class EndpointsSet( data class ParamsOfAggregateCollection( val collection: String, val filter: Any? = null, - val fields: List + val fields: List? = listOf() ) data class FieldAggregation( @@ -43,6 +43,10 @@ data class ResultOfQuery( val result: Any ) +data class ResultOfAggregateCollection( + val values: Any +) + data class ParamsOfFindLastShardBlock( val address: String diff --git a/src/test/kotlin/ee/nx01/tonclient/net/NetModuletTest.kt b/src/test/kotlin/ee/nx01/tonclient/net/NetModuletTest.kt index 6fa8dfa..3aacb36 100644 --- a/src/test/kotlin/ee/nx01/tonclient/net/NetModuletTest.kt +++ b/src/test/kotlin/ee/nx01/tonclient/net/NetModuletTest.kt @@ -86,6 +86,15 @@ class NetModuletTest : StringSpec({ } + "Should be able call aggregate collection" { + val client = TonClient() + + val response = client.net.aggregateCollection(ParamsOfAggregateCollection("transactions")) + + response.values shouldNotBe null + + } + "Should be able get block with block iterator" { val client = TonClient(TonClientConfig(NetworkConfig(endpoints = listOf("main.ton.dev"))))