From cd412b088b361090f3f45d4efb677704d8bfbfed Mon Sep 17 00:00:00 2001 From: librelois <c@elo.tf> Date: Fri, 4 Dec 2020 03:13:33 +0100 Subject: [PATCH] [ref] gva: replace sum field by aggregate for queries uds & utxos --- rust-libs/modules/gva/src/entities.rs | 5 +++++ rust-libs/modules/gva/src/lib.rs | 2 +- rust-libs/modules/gva/src/queries.rs | 4 ++-- rust-libs/modules/gva/src/queries/uds.rs | 12 +++++++----- .../gva/src/queries/{utxos.rs => utxos_of_script.rs} | 12 +++++++----- 5 files changed, 22 insertions(+), 13 deletions(-) rename rust-libs/modules/gva/src/queries/{utxos.rs => utxos_of_script.rs} (92%) diff --git a/rust-libs/modules/gva/src/entities.rs b/rust-libs/modules/gva/src/entities.rs index b13c29228..6aac30cd2 100644 --- a/rust-libs/modules/gva/src/entities.rs +++ b/rust-libs/modules/gva/src/entities.rs @@ -18,6 +18,11 @@ pub mod ud_gva; use crate::*; +#[derive(Default, async_graphql::SimpleObject)] +pub(crate) struct AggregateSum { + pub(crate) aggregate: Sum, +} + #[derive(Default, async_graphql::SimpleObject)] pub(crate) struct AmountWithBase { pub(crate) amount: i32, diff --git a/rust-libs/modules/gva/src/lib.rs b/rust-libs/modules/gva/src/lib.rs index 5bcd84c4c..9825d0db6 100644 --- a/rust-libs/modules/gva/src/lib.rs +++ b/rust-libs/modules/gva/src/lib.rs @@ -38,7 +38,7 @@ mod warp_; use crate::entities::{ tx_gva::TxGva, ud_gva::{CurrentUdGva, RevalUdGva, UdGva}, - AmountWithBase, RawTxOrChanges, Sum, TxsHistoryGva, UtxoGva, + AggregateSum, AmountWithBase, RawTxOrChanges, Sum, TxsHistoryGva, UtxoGva, }; use crate::inputs::{TxIssuer, TxRecipient, UdsFilter}; use crate::inputs_validators::TxCommentValidator; diff --git a/rust-libs/modules/gva/src/queries.rs b/rust-libs/modules/gva/src/queries.rs index 6925c6c3e..17146d979 100644 --- a/rust-libs/modules/gva/src/queries.rs +++ b/rust-libs/modules/gva/src/queries.rs @@ -17,7 +17,7 @@ pub mod account_balance; pub mod gen_tx; pub mod txs_history; pub mod uds; -pub mod utxos; +pub mod utxos_of_script; use crate::*; use duniter_dbs::cm_v1::CmV1DbReadable as _; @@ -29,7 +29,7 @@ pub struct QueryRoot( queries::gen_tx::GenTxsQuery, queries::txs_history::TxsHistoryQuery, queries::uds::UdsQuery, - queries::utxos::UtxosQuery, + queries::utxos_of_script::UtxosQuery, ); #[derive(Default, async_graphql::SimpleObject)] diff --git a/rust-libs/modules/gva/src/queries/uds.rs b/rust-libs/modules/gva/src/queries/uds.rs index 0a1924c11..21c3902ef 100644 --- a/rust-libs/modules/gva/src/queries/uds.rs +++ b/rust-libs/modules/gva/src/queries/uds.rs @@ -48,7 +48,7 @@ impl UdsQuery { #[graphql(default)] filter: UdsFilter, #[graphql(desc = "pagination", default)] pagination: Pagination, #[graphql(desc = "Amount needed")] amount: Option<i64>, - ) -> async_graphql::Result<Connection<usize, UdGva, Sum, EmptyFields>> { + ) -> async_graphql::Result<Connection<usize, UdGva, AggregateSum, EmptyFields>> { let pagination = Pagination::convert_to_page_info(pagination)?; let pubkey = PublicKey::from_base58(&pubkey)?; @@ -107,10 +107,12 @@ impl UdsQuery { let mut conn = Connection::with_additional_fields( has_previous_page, has_next_page, - Sum { - sum: AmountWithBase { - amount: sum.amount() as i32, - base: sum.base() as i32, + AggregateSum { + aggregate: Sum { + sum: AmountWithBase { + amount: sum.amount() as i32, + base: sum.base() as i32, + }, }, }, ); diff --git a/rust-libs/modules/gva/src/queries/utxos.rs b/rust-libs/modules/gva/src/queries/utxos_of_script.rs similarity index 92% rename from rust-libs/modules/gva/src/queries/utxos.rs rename to rust-libs/modules/gva/src/queries/utxos_of_script.rs index 20c0a732f..8892ac8ee 100644 --- a/rust-libs/modules/gva/src/queries/utxos.rs +++ b/rust-libs/modules/gva/src/queries/utxos_of_script.rs @@ -32,7 +32,7 @@ impl UtxosQuery { #[graphql(desc = "DUBP wallet script")] script: String, #[graphql(desc = "pagination", default)] pagination: Pagination, #[graphql(desc = "Amount needed")] amount: Option<i64>, - ) -> async_graphql::Result<Connection<String, UtxoGva, Sum, EmptyFields>> { + ) -> async_graphql::Result<Connection<String, UtxoGva, AggregateSum, EmptyFields>> { let pagination = Pagination::convert_to_page_info(pagination)?; let script = dubp::documents_parser::wallet_script_from_str(&script)?; @@ -81,10 +81,12 @@ impl UtxosQuery { let mut conn = Connection::with_additional_fields( has_previous_page, has_next_page, - Sum { - sum: AmountWithBase { - amount: sum.amount() as i32, - base: sum.base() as i32, + AggregateSum { + aggregate: Sum { + sum: AmountWithBase { + amount: sum.amount() as i32, + base: sum.base() as i32, + }, }, }, ); -- GitLab