diff options
| -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) } |
