summaryrefslogtreecommitdiff
path: root/transformers
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-01-17 07:53:58 +0000
committerJoe Carstairs <me@joeac.net>2026-01-17 16:38:54 +0000
commitfa1d9941e2d3969a1035d36c97f3363628a409c0 (patch)
treeed4d625f248c99c1b33c9995ba9114e6b55c564f /transformers
parent76ba747912a391d235a9c4456e1d813dee9712f3 (diff)
Refactor transform_bucket_transactions ->
transform_bucket_transactions_from_category_transfers
Diffstat (limited to 'transformers')
-rw-r--r--transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state.rs5
-rw-r--r--transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_bucket_transactions_from_category_transfers.rs (renamed from transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_bucket_transactions.rs)31
-rw-r--r--transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs16
3 files changed, 34 insertions, 18 deletions
diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state.rs
index 1f5ead3..ae560c6 100644
--- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state.rs
+++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state.rs
@@ -2,7 +2,7 @@ mod is_account_transfer;
mod is_category_transfer;
mod transform_account_transfers;
mod transform_accounts;
-mod transform_bucket_transactions;
+mod transform_bucket_transactions_from_category_transfers;
mod transform_categories_to_buckets;
mod transform_date;
mod transform_id;
@@ -17,11 +17,12 @@ use is_category_transfer::is_category_transfer;
use is_category_transfer::is_not_category_transfer;
use transform_account_transfers::transform_account_transfers;
use transform_accounts::transform_accounts;
-use transform_bucket_transactions::transform_bucket_transactions;
+use transform_bucket_transactions_from_category_transfers::transform_bucket_transactions_from_category_transfers;
use transform_categories_to_buckets::transform_categories_to_buckets;
use transform_date::transform_date;
use transform_id::transform_id;
use transform_transactions::transform_transactions;
+use transform_zero_budgets_to_drips::transform_budget_drips;
use transform_zero_budgets_to_pipes::transform_zero_budgets_to_pipes;
pub use transform_state::transform_state;
diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_bucket_transactions.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_bucket_transactions_from_category_transfers.rs
index 22ee95e..952405e 100644
--- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_bucket_transactions.rs
+++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_bucket_transactions_from_category_transfers.rs
@@ -4,7 +4,7 @@ use schist_models::BucketTransaction;
use super::{is_category_transfer, transform_id};
-pub fn transform_bucket_transactions(
+pub fn transform_bucket_transactions_from_category_transfers(
actualbudget_transactions: &[ActualbudgetTransaction],
) -> Result<Vec<BucketTransaction>> {
let actualbudget_category_transfers = actualbudget_transactions
@@ -136,7 +136,7 @@ mod test {
use crate::transform_state::transform_id::transform_id;
- use super::transform_bucket_transactions;
+ use super::transform_bucket_transactions_from_category_transfers;
#[test]
fn when_one_category_transfer_then_transforms() {
@@ -146,7 +146,8 @@ mod test {
make_fake_child_deposit("2", "0"),
];
- let result = transform_bucket_transactions(&actualbudget_transactions);
+ let result =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions);
assert!(result.is_ok());
let bucket_transactions = result.unwrap();
@@ -194,7 +195,8 @@ mod test {
.unwrap(),
];
- let result = transform_bucket_transactions(&actualbudget_transactions);
+ let result =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions);
assert!(result.is_ok());
let bucket_transactions = result.unwrap();
@@ -248,7 +250,8 @@ mod test {
.unwrap(),
];
- let result = transform_bucket_transactions(&actualbudget_transactions);
+ let result =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions);
assert!(result.is_err());
}
@@ -268,7 +271,8 @@ mod test {
.unwrap(),
];
- let result = transform_bucket_transactions(&actualbudget_transactions);
+ let result =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions);
assert!(result.is_err());
}
@@ -280,7 +284,8 @@ mod test {
make_fake_child_deposit("1", "0"),
];
- let result = transform_bucket_transactions(&actualbudget_transactions);
+ let result =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions);
assert!(result.is_ok());
assert_eq!(0, result.unwrap().len());
@@ -293,7 +298,8 @@ mod test {
make_fake_child_withdrawal("1", "0"),
];
- let result = transform_bucket_transactions(&actualbudget_transactions);
+ let result =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions);
assert!(result.is_ok());
assert_eq!(0, result.unwrap().len());
@@ -311,7 +317,8 @@ mod test {
.unwrap(),
];
- let result = transform_bucket_transactions(&actualbudget_transactions);
+ let result =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions);
assert!(result.is_ok());
assert_eq!(0, result.unwrap().len());
@@ -340,8 +347,10 @@ mod test {
.unwrap(),
];
- let result_0 = transform_bucket_transactions(&actualbudget_transactions_0);
- let result_1 = transform_bucket_transactions(&actualbudget_transactions_1);
+ let result_0 =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions_0);
+ let result_1 =
+ transform_bucket_transactions_from_category_transfers(&actualbudget_transactions_1);
assert!(result_0.is_err());
assert!(result_1.is_err());
diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs
index 8e71a47..d3ebee5 100644
--- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs
+++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs
@@ -1,12 +1,13 @@
use anyhow::{Context, Result};
-use schist_models::{Account, Bucket, Pipe, Transaction};
+use schist_models::{Account, Bucket, BucketTransaction, Pipe, Transaction};
use crate::{actualbudget_state::ActualbudgetState, schist_state::SchistState};
use super::{
- transform_account_transfers, transform_accounts, transform_bucket_transactions,
+ transform_account_transfers, transform_accounts,
+ transform_bucket_transactions_from_category_transfers, transform_budget_drips,
transform_categories_to_buckets, transform_date, transform_transactions,
- transform_zero_budgets_to_drips::transform_budget_drips, transform_zero_budgets_to_pipes,
+ transform_zero_budgets_to_pipes,
};
pub fn transform_state(actualbudget_state: ActualbudgetState) -> Result<SchistState> {
@@ -36,8 +37,13 @@ fn transform_state_without_context(actualbudget_state: ActualbudgetState) -> Res
);
let pipes: Vec<Pipe> =
transform_zero_budgets_to_pipes(&actualbudget_state.actualbudget_zero_budgets)?;
- let bucket_transactions =
- transform_bucket_transactions(&actualbudget_state.actualbudget_transactions)?;
+ let bucket_transactions: Vec<BucketTransaction> =
+ vec![transform_bucket_transactions_from_category_transfers(
+ &remaining_transactions,
+ )?]
+ .into_iter()
+ .flatten()
+ .collect();
Ok(SchistState {
first_transaction_date: first_activity_date,