From 1ae19eb3315c40e3f9062592c27fa76c11cf626c Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Sun, 17 Nov 2024 09:23:28 +0000 Subject: Renames workspace folder --- .../src/queries/actualbudget_accounts/get_all.rs | 6 ++++++ .../get_category_transfers_account.rs | 13 +++++++++++++ .../src/queries/actualbudget_accounts/mod.rs | 5 +++++ .../src/queries/actualbudget_categories/get_all.rs | 6 ++++++ .../src/queries/actualbudget_categories/mod.rs | 3 +++ .../src/queries/actualbudget_transactions/get_all.rs | 6 ++++++ .../queries/actualbudget_transactions/get_first_date.rs | 14 ++++++++++++++ .../src/queries/actualbudget_transactions/mod.rs | 5 +++++ .../src/queries/actualbudget_zero_budgets/get_all.rs | 6 ++++++ .../src/queries/actualbudget_zero_budgets/mod.rs | 3 +++ rust/actualbudget_importer/src/queries/mod.rs | 4 ++++ 11 files changed, 71 insertions(+) create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_accounts/get_all.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_accounts/get_category_transfers_account.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_accounts/mod.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_categories/get_all.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_categories/mod.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_transactions/get_all.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_transactions/get_first_date.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_transactions/mod.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/get_all.rs create mode 100644 rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/mod.rs create mode 100644 rust/actualbudget_importer/src/queries/mod.rs (limited to 'rust/actualbudget_importer/src/queries') diff --git a/rust/actualbudget_importer/src/queries/actualbudget_accounts/get_all.rs b/rust/actualbudget_importer/src/queries/actualbudget_accounts/get_all.rs new file mode 100644 index 0000000..6f667de --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_accounts/get_all.rs @@ -0,0 +1,6 @@ +use crate::{models::actualbudget_account::ActualbudgetAccount, schema::accounts::dsl::accounts}; +use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; + +pub fn get_all_actualbudget_accounts(connection: &mut SqliteConnection) -> Result, Error> { + accounts.select(ActualbudgetAccount::as_select()).load(connection) +} diff --git a/rust/actualbudget_importer/src/queries/actualbudget_accounts/get_category_transfers_account.rs b/rust/actualbudget_importer/src/queries/actualbudget_accounts/get_category_transfers_account.rs new file mode 100644 index 0000000..f05dc78 --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_accounts/get_category_transfers_account.rs @@ -0,0 +1,13 @@ +use diesel::{result::Error, ExpressionMethods, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; + +use crate::{models::actualbudget_account::ActualbudgetAccount, schema::accounts::{ + self as accounts_schema, + dsl::accounts as accounts_table, +}}; + +pub fn get_category_transfers_account(connection: &mut SqliteConnection) -> Result { + accounts_table + .filter(accounts_schema::name.eq("Category transfers")) + .select(ActualbudgetAccount::as_select()) + .first(connection) +} diff --git a/rust/actualbudget_importer/src/queries/actualbudget_accounts/mod.rs b/rust/actualbudget_importer/src/queries/actualbudget_accounts/mod.rs new file mode 100644 index 0000000..c6d6015 --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_accounts/mod.rs @@ -0,0 +1,5 @@ +mod get_all; +mod get_category_transfers_account; + +pub use get_all::get_all_actualbudget_accounts; +pub use get_category_transfers_account::get_category_transfers_account; diff --git a/rust/actualbudget_importer/src/queries/actualbudget_categories/get_all.rs b/rust/actualbudget_importer/src/queries/actualbudget_categories/get_all.rs new file mode 100644 index 0000000..4cb7ebc --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_categories/get_all.rs @@ -0,0 +1,6 @@ +use crate::{models::actualbudget_category::ActualbudgetCategory, schema::categories::dsl::categories}; +use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; + +pub fn get_all_actualbudget_categories(connection: &mut SqliteConnection) -> Result, Error> { + categories.select(ActualbudgetCategory::as_select()).load(connection) +} diff --git a/rust/actualbudget_importer/src/queries/actualbudget_categories/mod.rs b/rust/actualbudget_importer/src/queries/actualbudget_categories/mod.rs new file mode 100644 index 0000000..0c04e53 --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_categories/mod.rs @@ -0,0 +1,3 @@ +mod get_all; + +pub use get_all::get_all_actualbudget_categories; diff --git a/rust/actualbudget_importer/src/queries/actualbudget_transactions/get_all.rs b/rust/actualbudget_importer/src/queries/actualbudget_transactions/get_all.rs new file mode 100644 index 0000000..84c8d08 --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_transactions/get_all.rs @@ -0,0 +1,6 @@ +use crate::{models::actualbudget_transaction::ActualbudgetTransaction, schema::transactions::dsl::transactions}; +use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; + +pub fn get_all_actualbudget_transactions(connection: &mut SqliteConnection) -> Result, Error> { + transactions.select(ActualbudgetTransaction::as_select()).load(connection) +} diff --git a/rust/actualbudget_importer/src/queries/actualbudget_transactions/get_first_date.rs b/rust/actualbudget_importer/src/queries/actualbudget_transactions/get_first_date.rs new file mode 100644 index 0000000..b958c37 --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_transactions/get_first_date.rs @@ -0,0 +1,14 @@ +use anyhow::Result; +use crate::{models::actualbudget_date::ActualbudgetDate, schema::transactions::{ + self as transactions_schema, + dsl::transactions as transactions_table, +}}; +use diesel::{dsl::min, result::Error, QueryDsl, RunQueryDsl, SqliteConnection}; + +pub fn get_first_actualbudget_transaction_date(connection: &mut SqliteConnection) -> Result { + let date_as_int = transactions_table + .select(min(transactions_schema::date)) + .first::>(connection) + .map_or_else(|e| Err(e), |o| o.map_or_else(|| Err(Error::NotFound), |i| Ok(i)))?; + Ok(ActualbudgetDate::from_i32(date_as_int)) +} diff --git a/rust/actualbudget_importer/src/queries/actualbudget_transactions/mod.rs b/rust/actualbudget_importer/src/queries/actualbudget_transactions/mod.rs new file mode 100644 index 0000000..b4ed0dd --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_transactions/mod.rs @@ -0,0 +1,5 @@ +mod get_all; +mod get_first_date; + +pub use get_all::get_all_actualbudget_transactions; +pub use get_first_date::get_first_actualbudget_transaction_date; diff --git a/rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/get_all.rs b/rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/get_all.rs new file mode 100644 index 0000000..0c3f695 --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/get_all.rs @@ -0,0 +1,6 @@ +use crate::{models::actualbudget_zero_budget::ActualbudgetZeroBudget, schema::zero_budgets::dsl::zero_budgets}; +use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; + +pub fn get_all_actualbudget_zero_budgets(connection: &mut SqliteConnection) -> Result, Error> { + zero_budgets.select(ActualbudgetZeroBudget::as_select()).load(connection) +} diff --git a/rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/mod.rs b/rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/mod.rs new file mode 100644 index 0000000..ba7e21b --- /dev/null +++ b/rust/actualbudget_importer/src/queries/actualbudget_zero_budgets/mod.rs @@ -0,0 +1,3 @@ +mod get_all; + +pub use get_all::get_all_actualbudget_zero_budgets; diff --git a/rust/actualbudget_importer/src/queries/mod.rs b/rust/actualbudget_importer/src/queries/mod.rs new file mode 100644 index 0000000..e16dafc --- /dev/null +++ b/rust/actualbudget_importer/src/queries/mod.rs @@ -0,0 +1,4 @@ +pub mod actualbudget_accounts; +pub mod actualbudget_categories; +pub mod actualbudget_transactions; +pub mod actualbudget_zero_budgets; -- cgit v1.2.3