Skip to content
Snippets Groups Projects
Commit cd412b08 authored by Éloïs's avatar Éloïs
Browse files

[ref] gva: replace sum field by aggregate for queries uds & utxos

parent 635a2cc5
No related branches found
No related tags found
1 merge request!1335Gva proto 2
...@@ -18,6 +18,11 @@ pub mod ud_gva; ...@@ -18,6 +18,11 @@ pub mod ud_gva;
use crate::*; use crate::*;
#[derive(Default, async_graphql::SimpleObject)]
pub(crate) struct AggregateSum {
pub(crate) aggregate: Sum,
}
#[derive(Default, async_graphql::SimpleObject)] #[derive(Default, async_graphql::SimpleObject)]
pub(crate) struct AmountWithBase { pub(crate) struct AmountWithBase {
pub(crate) amount: i32, pub(crate) amount: i32,
......
...@@ -38,7 +38,7 @@ mod warp_; ...@@ -38,7 +38,7 @@ mod warp_;
use crate::entities::{ use crate::entities::{
tx_gva::TxGva, tx_gva::TxGva,
ud_gva::{CurrentUdGva, RevalUdGva, UdGva}, 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::{TxIssuer, TxRecipient, UdsFilter};
use crate::inputs_validators::TxCommentValidator; use crate::inputs_validators::TxCommentValidator;
......
...@@ -17,7 +17,7 @@ pub mod account_balance; ...@@ -17,7 +17,7 @@ pub mod account_balance;
pub mod gen_tx; pub mod gen_tx;
pub mod txs_history; pub mod txs_history;
pub mod uds; pub mod uds;
pub mod utxos; pub mod utxos_of_script;
use crate::*; use crate::*;
use duniter_dbs::cm_v1::CmV1DbReadable as _; use duniter_dbs::cm_v1::CmV1DbReadable as _;
...@@ -29,7 +29,7 @@ pub struct QueryRoot( ...@@ -29,7 +29,7 @@ pub struct QueryRoot(
queries::gen_tx::GenTxsQuery, queries::gen_tx::GenTxsQuery,
queries::txs_history::TxsHistoryQuery, queries::txs_history::TxsHistoryQuery,
queries::uds::UdsQuery, queries::uds::UdsQuery,
queries::utxos::UtxosQuery, queries::utxos_of_script::UtxosQuery,
); );
#[derive(Default, async_graphql::SimpleObject)] #[derive(Default, async_graphql::SimpleObject)]
......
...@@ -48,7 +48,7 @@ impl UdsQuery { ...@@ -48,7 +48,7 @@ impl UdsQuery {
#[graphql(default)] filter: UdsFilter, #[graphql(default)] filter: UdsFilter,
#[graphql(desc = "pagination", default)] pagination: Pagination, #[graphql(desc = "pagination", default)] pagination: Pagination,
#[graphql(desc = "Amount needed")] amount: Option<i64>, #[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 pagination = Pagination::convert_to_page_info(pagination)?;
let pubkey = PublicKey::from_base58(&pubkey)?; let pubkey = PublicKey::from_base58(&pubkey)?;
...@@ -107,12 +107,14 @@ impl UdsQuery { ...@@ -107,12 +107,14 @@ impl UdsQuery {
let mut conn = Connection::with_additional_fields( let mut conn = Connection::with_additional_fields(
has_previous_page, has_previous_page,
has_next_page, has_next_page,
Sum { AggregateSum {
aggregate: Sum {
sum: AmountWithBase { sum: AmountWithBase {
amount: sum.amount() as i32, amount: sum.amount() as i32,
base: sum.base() as i32, base: sum.base() as i32,
}, },
}, },
},
); );
let uds_timed = let uds_timed =
uds.into_iter() uds.into_iter()
......
...@@ -32,7 +32,7 @@ impl UtxosQuery { ...@@ -32,7 +32,7 @@ impl UtxosQuery {
#[graphql(desc = "DUBP wallet script")] script: String, #[graphql(desc = "DUBP wallet script")] script: String,
#[graphql(desc = "pagination", default)] pagination: Pagination, #[graphql(desc = "pagination", default)] pagination: Pagination,
#[graphql(desc = "Amount needed")] amount: Option<i64>, #[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 pagination = Pagination::convert_to_page_info(pagination)?;
let script = dubp::documents_parser::wallet_script_from_str(&script)?; let script = dubp::documents_parser::wallet_script_from_str(&script)?;
...@@ -81,12 +81,14 @@ impl UtxosQuery { ...@@ -81,12 +81,14 @@ impl UtxosQuery {
let mut conn = Connection::with_additional_fields( let mut conn = Connection::with_additional_fields(
has_previous_page, has_previous_page,
has_next_page, has_next_page,
Sum { AggregateSum {
aggregate: Sum {
sum: AmountWithBase { sum: AmountWithBase {
amount: sum.amount() as i32, amount: sum.amount() as i32,
base: sum.base() as i32, base: sum.base() as i32,
}, },
}, },
},
); );
conn.append(utxos.into_iter().zip(times.into_iter()).map( conn.append(utxos.into_iter().zip(times.into_iter()).map(
|((utxo_cursor, source_amount), blockchain_time)| { |((utxo_cursor, source_amount), blockchain_time)| {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment