diff --git a/lib/modules/gva/resources/schema.gql b/lib/modules/gva/resources/schema.gql
index e77a208f7a66f18037a5b5b71b9a8c4577f18c8d..a57118e06ff7a083b79b5aaa64fc49092fddeb6e 100644
--- a/lib/modules/gva/resources/schema.gql
+++ b/lib/modules/gva/resources/schema.gql
@@ -81,6 +81,7 @@ type Block {
currency: String!
issuer: String!
issuerName: String,
+ issuersCount: 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 1d8b8d6071f38925b02897005a4108902b087de3..9162d34efeb3cd8a4c5975c01822fd2bb61d7247 100644
--- a/lib/modules/gva/src/schema/entities/block.rs
+++ b/lib/modules/gva/src/schema/entities/block.rs
@@ -31,6 +31,7 @@ pub struct Block {
currency: String,
issuer: String,
issuer_name: Option<String>,
+ issuers_count: i32,
number: i32,
hash: String,
common_time: NaiveDateTime,
@@ -57,6 +58,7 @@ impl Block {
} else {
None
},
+ issuers_count: block_db.block.issuers_count() as i32,
number: block_db.block.number().0 as i32,
hash: block_db
.block
@@ -108,4 +110,8 @@ impl super::super::BlockFields for Block {
fn field_pow_min(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
Ok(&self.pow_min)
}
+ #[inline]
+ fn field_issuers_count(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+ Ok(&self.issuers_count)
+ }
}
diff --git a/lib/modules/gva/src/schema/queries/block.rs b/lib/modules/gva/src/schema/queries/block.rs
index 8f6ad8e4758c66e1e21f653be07b5a87b71aa440..cc6bcd983dd38404dda1bcdad44c89d7f2275f09 100644
--- a/lib/modules/gva/src/schema/queries/block.rs
+++ b/lib/modules/gva/src/schema/queries/block.rs
@@ -69,6 +69,7 @@ mod tests {
Hash::default(),
);
block.issuers = vec![pubkey('B')];
+ block.issuers_count = 3;
block.pow_min = 70;
Ok(Some(BlockDb {
block: BlockDocument::V10(block),
@@ -99,7 +100,7 @@ mod tests {
tests::test_gql_query(
schema,
- "{ block(number: 42) { commonTime, currency, hash, issuer, issuerName, number, powMin, version } }",
+ "{ block(number: 42) { commonTime, currency, hash, issuer, issuerName, issuersCount, number, powMin, version } }",
json!({
"data": {
"block": {
@@ -108,6 +109,7 @@ mod tests {
"hash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"issuer": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
"issuerName": "issuerName",
+ "issuersCount": 3,
"number": 42,
"powMin": 70,
"version": 10