diff options
| author | Joe Carstairs <me@joeac.net> | 2024-10-16 12:51:21 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-10-16 12:51:21 +0100 |
| commit | 27b95c9186bd45edd4c982a7cc89cf69cf2c5d46 (patch) | |
| tree | bf104ff9d64e601bfec5516eb51ef298f3095e9b /importers/actualbudget/src/inserters.rs | |
| parent | 76974785294089965efc3f55b2a08d4089029c52 (diff) | |
All backend stuff lives in backend folder
Diffstat (limited to 'importers/actualbudget/src/inserters.rs')
| -rw-r--r-- | importers/actualbudget/src/inserters.rs | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/importers/actualbudget/src/inserters.rs b/importers/actualbudget/src/inserters.rs deleted file mode 100644 index 179de97..0000000 --- a/importers/actualbudget/src/inserters.rs +++ /dev/null @@ -1,120 +0,0 @@ -use crate::models::budgeting_app::{ - account::Account, budget_update::BudgetUpdate, category::Category, - category_transfer::CategoryTransfer, transaction::Transaction, - transaction_categorisation::TransactionCategorisation, -}; -use sqlite::Connection; - -pub fn insert_accounts(connection: &Connection, accounts: &[Account]) { - for account in accounts { - let str = format!( - " - insert into - accounts(id, name, opening_balance, opening_date) - values({0}, '{1}', {2}, '{3}'); - ", - account.id, - escape_str(&account.name), - account.opening_balance, - account.opening_date - ); - connection.execute(str).unwrap(); - } -} - -pub fn insert_categories(connection: &Connection, categories: &[Category]) { - for category in categories { - let str = format!( - " - insert into - categories(id, name) - values({0}, '{1}'); - ", - category.id, - escape_str(&category.name), - ); - connection.execute(str).unwrap(); - } -} - -pub fn insert_budget_updates(connection: &Connection, budget_updates: &[BudgetUpdate]) { - for budget_update in budget_updates { - let str = format!( - " - insert into - budget_updates(id, category_id, date, new_budget, new_period) - values({0}, {1}, '{2}', {3}, {4}); - ", - budget_update.id, - budget_update.category_id, - budget_update.date, - budget_update.new_budget, - budget_update.new_period, - ); - connection.execute(str).unwrap(); - } -} - -pub fn insert_transactions(connection: &Connection, transactions: &[Transaction]) { - for transaction in transactions { - let str = format!( - " - insert into - transactions(id, description, payee, quantity, date, account_id) - values({0}, '{1}', '{2}', {3}, '{4}', {5}); - ", - transaction.id, - escape_str(&transaction.description), - escape_str(&transaction.payee), - transaction.quantity, - transaction.date, - transaction.account_id, - ); - connection - .execute(str.clone()) - .unwrap_or_else(|_| panic!("{}", &str.clone())); - } -} - -pub fn insert_transaction_categorisations( - connection: &Connection, - transaction_categorisations: &[TransactionCategorisation], -) { - for transaction_categorisation in transaction_categorisations { - let str = format!( - " - insert into - transaction_categorisations(id, description, quantity, transaction_id, category_id) - values({0}, '{1}', {2}, {3}, {4}); - ", - transaction_categorisation.id, - escape_str(&transaction_categorisation.description), - transaction_categorisation.quantity, - transaction_categorisation.transaction_id, - transaction_categorisation.category_id, - ); - connection.execute(str).unwrap(); - } -} - -pub fn insert_category_transfers(connection: &Connection, category_transfers: &[CategoryTransfer]) { - for category_transfer in category_transfers { - let str = format!( - " - insert into - category_transfers(id, description, quantity, from_category_id, to_category_id) - values({0}, '{1}', {2}, {3}, {4}); - ", - category_transfer.id, - escape_str(&category_transfer.description), - category_transfer.quantity, - category_transfer.from_category_id, - category_transfer.to_category_id, - ); - connection.execute(str).unwrap(); - } -} - -fn escape_str(str: &str) -> String { - str.replace("'", "''") -} |
