From ebf042c9582504990b788f680d4396ab85feb8b4 Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Fri, 29 Nov 2019 15:46:48 +0100
Subject: [PATCH] [feat] gva:block: add field members_count

---
 lib/modules/gva/resources/schema.gql          | 1 +
 lib/modules/gva/src/schema/entities/block.rs  | 6 ++++++
 lib/modules/gva/src/schema/queries/current.rs | 6 ++++--
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/lib/modules/gva/resources/schema.gql b/lib/modules/gva/resources/schema.gql
index f2fe3b63..3c2ec307 100644
--- a/lib/modules/gva/resources/schema.gql
+++ b/lib/modules/gva/resources/schema.gql
@@ -83,6 +83,7 @@ type Block {
   issuer: String!
   issuerName: String,
   issuersCount: Int!
+  membersCount: Int!
   number: Int!
   hash: String!,
   commonTime: DateTimeUtc!
diff --git a/lib/modules/gva/src/schema/entities/block.rs b/lib/modules/gva/src/schema/entities/block.rs
index 9162d34e..3f1153ce 100644
--- a/lib/modules/gva/src/schema/entities/block.rs
+++ b/lib/modules/gva/src/schema/entities/block.rs
@@ -32,6 +32,7 @@ pub struct Block {
     issuer: String,
     issuer_name: Option<String>,
     issuers_count: i32,
+    members_count: i32,
     number: i32,
     hash: String,
     common_time: NaiveDateTime,
@@ -59,6 +60,7 @@ impl Block {
                 None
             },
             issuers_count: block_db.block.issuers_count() as i32,
+            members_count: block_db.block.members_count() as i32,
             number: block_db.block.number().0 as i32,
             hash: block_db
                 .block
@@ -114,4 +116,8 @@ impl super::super::BlockFields for Block {
     fn field_issuers_count(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
         Ok(&self.issuers_count)
     }
+    #[inline]
+    fn field_members_count(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+        Ok(&self.members_count)
+    }
 }
diff --git a/lib/modules/gva/src/schema/queries/current.rs b/lib/modules/gva/src/schema/queries/current.rs
index 68b2c59b..3c4a6731 100644
--- a/lib/modules/gva/src/schema/queries/current.rs
+++ b/lib/modules/gva/src/schema/queries/current.rs
@@ -58,6 +58,7 @@ mod tests {
             );
             current_block.issuers = vec![pubkey('B')];
             current_block.pow_min = 70;
+            current_block.members_count = 59;
             Ok(Some(BlockDb {
                 block: BlockDocument::V10(current_block),
                 expire_certs: None,
@@ -73,7 +74,7 @@ mod tests {
 
         tests::test_gql_query(
             schema,
-            "{ current { commonTime, currency, hash, issuer, issuerName, number, powMin, version } }",
+            "{ current { commonTime, currency, hash, issuer, issuerName, membersCount, number, powMin, version } }",
             json!({
                 "data": {
                     "current": {
@@ -81,7 +82,8 @@ mod tests {
                         "currency": "test_currency",
                         "hash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                         "issuer": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
-                        "issuerName": "issuerName", 
+                        "issuerName": "issuerName",
+                        "membersCount": 59, 
                         "number": 42,
                         "powMin": 70,
                         "version": 10
-- 
GitLab