From cd269b3540fb5e3a988c1b59d3763db360b1fb34 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Tue, 17 Sep 2024 13:20:04 +0100 Subject: many, many changes --- importers/actualbudget/src/transformers.rs | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'importers/actualbudget/src/transformers.rs') 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 { let mut accounts = Vec::::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 { let mut categories = Vec::::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), }); -- cgit v1.2.3