diff options
| author | Joe Carstairs <me@joeac.net> | 2024-09-17 13:20:04 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-09-17 13:20:04 +0100 |
| commit | cd269b3540fb5e3a988c1b59d3763db360b1fb34 (patch) | |
| tree | a728403d8d5708ad29eeed2b391706b09a93fe4c /importers/actualbudget/src/transformers.rs | |
| parent | f0e3e0cfb183253e03b1a61ddecb7b9330d47fdb (diff) | |
many, many changes
Diffstat (limited to 'importers/actualbudget/src/transformers.rs')
| -rw-r--r-- | importers/actualbudget/src/transformers.rs | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/importers/actualbudget/src/transformers.rs b/importers/actualbudget/src/transformers.rs index 910b106..678ea05 100644 --- a/importers/actualbudget/src/transformers.rs +++ b/importers/actualbudget/src/transformers.rs @@ -5,18 +5,18 @@ use crate::models::{ actualbudget, budgeting_app::{ account::Account, budget_update::BudgetUpdate, category::Category, - category_transfer::CategoryTransfer, transaction::Transaction, + category_transfer::CategoryTransfer, date_time_utc::DateTimeUtc, transaction::Transaction, transaction_categorisation::TransactionCategorisation, }, }; -pub fn transform_date(actualbudget_date: &actualbudget::date::Date) -> String { - actualbudget_date.to_iso() +pub fn transform_date(actualbudget_date: &actualbudget::date::Date) -> DateTimeUtc { + DateTimeUtc::new(&actualbudget_date.to_iso()) } pub fn transform_accounts( actualbudget_accounts: &[actualbudget::account::Account], - first_transaction_date: &str, + first_transaction_date: &DateTimeUtc, ) -> Vec<Account> { let mut accounts = Vec::<Account>::new(); for account in actualbudget_accounts { @@ -27,34 +27,24 @@ pub fn transform_accounts( fn transform_account( actualbudget_account: &actualbudget::account::Account, - opening_date: &str, + opening_date: &DateTimeUtc, ) -> Account { Account { id: transform_id(&actualbudget_account.id.clone()), name: actualbudget_account.name.clone(), opening_balance: 0, - opening_date: String::from(opening_date), + opening_date: opening_date.clone(), } } pub fn transform_categories( actualbudget_categories: &[actualbudget::category::Category], - actualbudget_zero_budgets: &[actualbudget::zero_budget::ZeroBudget], ) -> Vec<Category> { let mut categories = Vec::<Category>::new(); for actualbudget_category in actualbudget_categories { - let first_zero_budget_in_category = get_first_zero_budget_in_category( - actualbudget_zero_budgets, - &actualbudget_category.id.clone(), - ); - categories.push(Category { id: transform_id(&actualbudget_category.id.clone()), name: actualbudget_category.name.clone(), - initial_budget: first_zero_budget_in_category - .map(|zb| zb.amount.try_into().unwrap()) - .unwrap_or(0), - initial_period: 30, }) } categories @@ -128,6 +118,7 @@ pub fn transform_transactions( description: atomic_actualbudget_transaction.notes, payee: atomic_actualbudget_transaction.payee, quantity: atomic_actualbudget_transaction.amount.try_into().unwrap(), + date: transform_date(&atomic_actualbudget_transaction.date), account_id: transform_id(&atomic_actualbudget_transaction.account_id), }); @@ -155,6 +146,7 @@ pub fn transform_transactions( description: parent_actualbudget_transaction.notes, payee: parent_actualbudget_transaction.payee, quantity: parent_actualbudget_transaction.amount.try_into().unwrap(), + date: transform_date(&parent_actualbudget_transaction.date), account_id: transform_id(&parent_actualbudget_transaction.account_id), }); |
