diff options
| author | Joe Carstairs <me@joeac.net> | 2024-12-05 08:38:52 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-12-05 08:38:52 +0000 |
| commit | 47f56d8eac2807b161a76a01f397c25f8c7fdcad (patch) | |
| tree | 458de9b9bbcfcae513b9f3028cd3b0ba612406c2 /rust/actualbudget_to_schist_transformer/src | |
| parent | c20dc5c1e56d180eef8e0303762dcb3e358cbb58 (diff) | |
Only transforms non-zero budget drips
Diffstat (limited to 'rust/actualbudget_to_schist_transformer/src')
| -rw-r--r-- | rust/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/rust/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs b/rust/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs index 7ec41af..1163e56 100644 --- a/rust/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs +++ b/rust/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs @@ -9,8 +9,15 @@ use schist_traits::dateable::Dateable; use super::{transform_date::transform_date, transform_id::transform_id}; pub fn transform_budget_drips(actualbudget_zero_budgets: &[ActualbudgetZeroBudget]) -> Result<Vec<BudgetDrip>> { - let budget_drips = group_actualbudget_zero_budgets_by_category_id(actualbudget_zero_budgets) + let non_zero_actualbudget_zero_budgets: Vec<ActualbudgetZeroBudget> = actualbudget_zero_budgets .iter() + .filter(|zb| zb.amount != 0) + .cloned() + .collect(); + + let budget_drips = group_actualbudget_zero_budgets_by_category_id( + &non_zero_actualbudget_zero_budgets, + ).iter() .map(sort_actualbudget_zero_budgets_by_month) .flat_map(|sorted_actualbudget_zero_budgets| sorted_actualbudget_zero_budgets .iter() @@ -18,7 +25,9 @@ pub fn transform_budget_drips(actualbudget_zero_budgets: &[ActualbudgetZeroBudge .collect::<Result<Vec<Vec<BudgetDrip>>>>() ).flatten() .flatten() + .filter(|bd| bd.quantity != 0) .collect(); + Ok(budget_drips) } |
