diff --git a/lib/modules/gva/resources/schema.gql b/lib/modules/gva/resources/schema.gql index f2fe3b632c30d5fb786a4d97e0df0e4e4336fd16..3c2ec3073f360acd0e6290c4303b84150f4a3313 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 9162d34efeb3cd8a4c5975c01822fd2bb61d7247..3f1153ce8bfb110e8822eb0ab67a58f1d8d6e836 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 68b2c59bc41cc8bbbb3963d2664ea01a8cdf20da..3c4a67313fd6134e88d446b2ef0a08eca4b00a9a 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