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;
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,
......
......@@ -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;
......
......@@ -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)]
......
......@@ -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,12 +107,14 @@ impl UdsQuery {
let mut conn = Connection::with_additional_fields(
has_previous_page,
has_next_page,
Sum {
AggregateSum {
aggregate: Sum {
sum: AmountWithBase {
amount: sum.amount() as i32,
base: sum.base() as i32,
},
},
},
);
let uds_timed =
uds.into_iter()
......
......@@ -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,12 +81,14 @@ impl UtxosQuery {
let mut conn = Connection::with_additional_fields(
has_previous_page,
has_next_page,
Sum {
AggregateSum {
aggregate: Sum {
sum: AmountWithBase {
amount: sum.amount() as i32,
base: sum.base() as i32,
},
},
},
);
conn.append(utxos.into_iter().zip(times.into_iter()).map(
|((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