diff options
| author | Joe Carstairs <me@joeac.net> | 2024-10-22 07:46:43 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-10-22 07:46:43 +0100 |
| commit | 5824c353f978a5b9ab9696451ee3014c6a614ffc (patch) | |
| tree | bc39754ca417e84eb00b0aa9a1ae2330da0bf282 /backend/app/src/queries | |
| parent | 7adaace61a4fe983eba5ded3aaaf624ce6fb9014 (diff) | |
Refactors importer to use core stuff
Diffstat (limited to 'backend/app/src/queries')
20 files changed, 0 insertions, 259 deletions
diff --git a/backend/app/src/queries/accounts/get_all.rs b/backend/app/src/queries/accounts/get_all.rs deleted file mode 100644 index bc67f77..0000000 --- a/backend/app/src/queries/accounts/get_all.rs +++ /dev/null @@ -1,6 +0,0 @@ -use budgeting_app_core::{models::account::Account, schema::accounts::dsl::accounts}; -use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; - -pub fn get_all_accounts(connection: &mut SqliteConnection) -> Result<Vec<Account>, Error> { - accounts.select(Account::as_select()).load(connection) -} diff --git a/backend/app/src/queries/accounts/insert.rs b/backend/app/src/queries/accounts/insert.rs deleted file mode 100644 index 1d1a323..0000000 --- a/backend/app/src/queries/accounts/insert.rs +++ /dev/null @@ -1,15 +0,0 @@ -use budgeting_app_core::{ - models::account::Account, - schema::accounts::dsl::accounts as accounts_table, -}; -use diesel::prelude::*; -use diesel::result::Error; - -pub fn insert_account( - accounts: &[Account], - connection: &mut SqliteConnection, -) -> Result<usize, Error> { - diesel::insert_into(accounts_table) - .values(accounts) - .execute(connection) -} diff --git a/backend/app/src/queries/accounts/mod.rs b/backend/app/src/queries/accounts/mod.rs deleted file mode 100644 index 94fa360..0000000 --- a/backend/app/src/queries/accounts/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod get_all; -mod insert; - -pub use get_all::get_all_accounts; -pub use insert::insert_account; diff --git a/backend/app/src/queries/budget_updates/get_all.rs b/backend/app/src/queries/budget_updates/get_all.rs deleted file mode 100644 index e6e4b59..0000000 --- a/backend/app/src/queries/budget_updates/get_all.rs +++ /dev/null @@ -1,13 +0,0 @@ -use budgeting_app_core::{ - models::budget_update::BudgetUpdate, - schema::budget_updates::dsl::budget_updates as budget_updates_table, -}; -use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; - -pub fn get_all_budget_updates( - connection: &mut SqliteConnection, -) -> Result<Vec<BudgetUpdate>, Error> { - budget_updates_table - .select(BudgetUpdate::as_select()) - .load::<BudgetUpdate>(connection) -} diff --git a/backend/app/src/queries/budget_updates/get_first_with_date.rs b/backend/app/src/queries/budget_updates/get_first_with_date.rs deleted file mode 100644 index 3856557..0000000 --- a/backend/app/src/queries/budget_updates/get_first_with_date.rs +++ /dev/null @@ -1,19 +0,0 @@ -use budgeting_app_core::{ - models::budget_update::BudgetUpdate, - schema::budget_updates::{ - self as budget_updates_schema, dsl::budget_updates as budget_updates_table, - }, -}; -use diesel::{ - result::Error, ExpressionMethods, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection, -}; - -pub fn get_first_budget_update_with_date( - date: &str, - connection: &mut SqliteConnection, -) -> Result<BudgetUpdate, Error> { - budget_updates_table - .select(BudgetUpdate::as_select()) - .filter(budget_updates_schema::date.eq(date)) - .first(connection) -} diff --git a/backend/app/src/queries/budget_updates/get_most_recent_with_category_id.rs b/backend/app/src/queries/budget_updates/get_most_recent_with_category_id.rs deleted file mode 100644 index 55012f5..0000000 --- a/backend/app/src/queries/budget_updates/get_most_recent_with_category_id.rs +++ /dev/null @@ -1,18 +0,0 @@ -use budgeting_app_core::{ - models::date_time_utc::DateTimeUtc, - schema::budget_updates::{ - self as budget_updates_schema, dsl::budget_updates as budget_updates_table, - }, -}; -use diesel::{dsl::max, result::Error, ExpressionMethods, QueryDsl, RunQueryDsl, SqliteConnection}; - -pub fn get_most_recent_budget_update_date_with_category_id( - category_id: i32, - connection: &mut SqliteConnection, -) -> Result<Option<String>, Error> { - budget_updates_table - .select(max(budget_updates_schema::date)) - .filter(budget_updates_schema::category_id.eq(category_id)) - .filter(budget_updates_schema::date.le(DateTimeUtc::now().to_day_str())) - .first(connection) -} diff --git a/backend/app/src/queries/budget_updates/mod.rs b/backend/app/src/queries/budget_updates/mod.rs deleted file mode 100644 index 3b514dd..0000000 --- a/backend/app/src/queries/budget_updates/mod.rs +++ /dev/null @@ -1,7 +0,0 @@ -mod get_all; -mod get_first_with_date; -mod get_most_recent_with_category_id; - -pub use get_all::get_all_budget_updates; -pub use get_first_with_date::get_first_budget_update_with_date; -pub use get_most_recent_with_category_id::get_most_recent_budget_update_date_with_category_id; diff --git a/backend/app/src/queries/categories/get_all.rs b/backend/app/src/queries/categories/get_all.rs deleted file mode 100644 index b6ec756..0000000 --- a/backend/app/src/queries/categories/get_all.rs +++ /dev/null @@ -1,8 +0,0 @@ -use budgeting_app_core::{models::category::Category, schema::categories::dsl::categories as categories_table}; -use diesel::{result::Error, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; - -pub fn get_all_categories(connection: &mut SqliteConnection) -> Result<Vec<Category>, Error> { - categories_table - .select(Category::as_select()) - .load(connection) -} diff --git a/backend/app/src/queries/categories/get_all_ids.rs b/backend/app/src/queries/categories/get_all_ids.rs deleted file mode 100644 index 48d5e57..0000000 --- a/backend/app/src/queries/categories/get_all_ids.rs +++ /dev/null @@ -1,8 +0,0 @@ -use budgeting_app_core::schema::categories::{self as categories_schema, dsl::categories as categories_table}; -use diesel::{result::Error, QueryDsl, RunQueryDsl, SqliteConnection}; - -pub fn get_all_category_ids(connection: &mut SqliteConnection) -> Result<Vec<i32>, Error> { - categories_table - .select(categories_schema::id) - .load(connection) -} diff --git a/backend/app/src/queries/categories/mod.rs b/backend/app/src/queries/categories/mod.rs deleted file mode 100644 index 80356b3..0000000 --- a/backend/app/src/queries/categories/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod get_all; -mod get_all_ids; - -pub use self::get_all::get_all_categories; -pub use self::get_all_ids::get_all_category_ids; diff --git a/backend/app/src/queries/category_balances/get_all.rs b/backend/app/src/queries/category_balances/get_all.rs deleted file mode 100644 index 7ee474a..0000000 --- a/backend/app/src/queries/category_balances/get_all.rs +++ /dev/null @@ -1,43 +0,0 @@ -use budgeting_app_core::models::category_balance::CategoryBalance; -use crate::{ - queries::{ - budget_updates::get_all_budget_updates, - categories::get_all_categories, - category_transfers::{ - sum_category_transfer_quantity_per_from_category_id, - sum_category_transfer_quantity_per_to_category_id, - }, - transaction_categorisations::sum_transaction_categorisation_quantity_per_category_id, - }, - utils::calculate_category_balance, -}; -use diesel::{result::Error, SqliteConnection}; - -pub fn get_all_category_balances( - connection: &mut SqliteConnection, -) -> Result<Vec<CategoryBalance>, Error> { - let categories = get_all_categories(connection)?; - let transaction_sums = sum_transaction_categorisation_quantity_per_category_id(connection)?; - let category_transfer_from_sums = - sum_category_transfer_quantity_per_from_category_id(connection)?; - let category_transfer_to_sums = sum_category_transfer_quantity_per_to_category_id(connection)?; - let budget_updates = get_all_budget_updates(connection)?; - - let mut balances = Vec::<CategoryBalance>::new(); - for category in categories { - let balance = calculate_category_balance( - &category, - &transaction_sums, - &category_transfer_from_sums, - &category_transfer_to_sums, - &budget_updates, - ); - - balances.push(CategoryBalance { - category_id: category.id, - balance: balance.try_into().unwrap(), - }) - } - - Ok(balances) -} diff --git a/backend/app/src/queries/category_balances/mod.rs b/backend/app/src/queries/category_balances/mod.rs deleted file mode 100644 index 3fc1be2..0000000 --- a/backend/app/src/queries/category_balances/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod get_all; - -pub use get_all::get_all_category_balances; diff --git a/backend/app/src/queries/category_budgets/get_most_recent_per_category_id.rs b/backend/app/src/queries/category_budgets/get_most_recent_per_category_id.rs deleted file mode 100644 index b71a5fb..0000000 --- a/backend/app/src/queries/category_budgets/get_most_recent_per_category_id.rs +++ /dev/null @@ -1,40 +0,0 @@ -use budgeting_app_core::models::{budget::Budget, category_budget::CategoryBudget}; -use crate::queries::{ - budget_updates::{ - get_first_budget_update_with_date, get_most_recent_budget_update_date_with_category_id, - }, - categories::get_all_category_ids, -}; -use diesel::{result::Error, SqliteConnection}; - -pub fn get_most_recent_category_budget_per_category_id( - connection: &mut SqliteConnection, -) -> Result<Vec<CategoryBudget>, Error> { - let category_ids: Vec<i32> = get_all_category_ids(connection)?; - - let mut budgets = Vec::<CategoryBudget>::new(); - for category_id in category_ids { - let most_recent_budget_update_date = - get_most_recent_budget_update_date_with_category_id(category_id, connection)?; - - if most_recent_budget_update_date.is_none() { - budgets.push(CategoryBudget { - category_id, - budget: Option::None, - }); - continue; - } - - let most_recent_budget_update = get_first_budget_update_with_date( - most_recent_budget_update_date.unwrap().as_str(), - connection, - )?; - - budgets.push(CategoryBudget { - category_id, - budget: Some(Budget::from(&most_recent_budget_update)), - }); - } - - Ok(budgets) -} diff --git a/backend/app/src/queries/category_budgets/mod.rs b/backend/app/src/queries/category_budgets/mod.rs deleted file mode 100644 index 29fc246..0000000 --- a/backend/app/src/queries/category_budgets/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod get_most_recent_per_category_id; - -pub use self::get_most_recent_per_category_id::get_most_recent_category_budget_per_category_id; diff --git a/backend/app/src/queries/category_transfers/mod.rs b/backend/app/src/queries/category_transfers/mod.rs deleted file mode 100644 index 85eb1c8..0000000 --- a/backend/app/src/queries/category_transfers/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod sum_quantity_per_from_category_id; -mod sum_quantity_per_to_category_id; - -pub use sum_quantity_per_from_category_id::sum_category_transfer_quantity_per_from_category_id; -pub use sum_quantity_per_to_category_id::sum_category_transfer_quantity_per_to_category_id; diff --git a/backend/app/src/queries/category_transfers/sum_quantity_per_from_category_id.rs b/backend/app/src/queries/category_transfers/sum_quantity_per_from_category_id.rs deleted file mode 100644 index 3c077aa..0000000 --- a/backend/app/src/queries/category_transfers/sum_quantity_per_from_category_id.rs +++ /dev/null @@ -1,17 +0,0 @@ -use budgeting_app_core::schema::category_transfers::{ - self as category_transfers_schema, - dsl::category_transfers as category_transfers_table, -}; -use diesel::{dsl::sum, result::Error, QueryDsl, RunQueryDsl, SqliteConnection}; - -pub fn sum_category_transfer_quantity_per_from_category_id( - connection: &mut SqliteConnection, -) -> Result<Vec<(i32, Option<i64>)>, Error> { - category_transfers_table - .group_by(category_transfers_schema::from_category_id) - .select(( - category_transfers_schema::from_category_id, - sum(category_transfers_schema::quantity), - )) - .load::<(i32, Option<i64>)>(connection) -} diff --git a/backend/app/src/queries/category_transfers/sum_quantity_per_to_category_id.rs b/backend/app/src/queries/category_transfers/sum_quantity_per_to_category_id.rs deleted file mode 100644 index 6e81d7d..0000000 --- a/backend/app/src/queries/category_transfers/sum_quantity_per_to_category_id.rs +++ /dev/null @@ -1,17 +0,0 @@ -use budgeting_app_core::schema::category_transfers::{ - self as category_transfers_schema, - dsl::category_transfers as category_transfers_table, -}; -use diesel::{dsl::sum, result::Error, QueryDsl, RunQueryDsl, SqliteConnection}; - -pub fn sum_category_transfer_quantity_per_to_category_id( - connection: &mut SqliteConnection, -) -> Result<Vec<(i32, Option<i64>)>, Error> { - category_transfers_table - .group_by(category_transfers_schema::to_category_id) - .select(( - category_transfers_schema::to_category_id, - sum(category_transfers_schema::quantity), - )) - .load::<(i32, Option<i64>)>(connection) -} diff --git a/backend/app/src/queries/mod.rs b/backend/app/src/queries/mod.rs deleted file mode 100644 index 43328e2..0000000 --- a/backend/app/src/queries/mod.rs +++ /dev/null @@ -1,7 +0,0 @@ -pub mod accounts; -pub mod budget_updates; -pub mod categories; -pub mod category_balances; -pub mod category_budgets; -pub mod category_transfers; -pub mod transaction_categorisations; diff --git a/backend/app/src/queries/transaction_categorisations/mod.rs b/backend/app/src/queries/transaction_categorisations/mod.rs deleted file mode 100644 index d4217cc..0000000 --- a/backend/app/src/queries/transaction_categorisations/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod sum_quantity_per_category_id; - -pub use sum_quantity_per_category_id::sum_transaction_categorisation_quantity_per_category_id; diff --git a/backend/app/src/queries/transaction_categorisations/sum_quantity_per_category_id.rs b/backend/app/src/queries/transaction_categorisations/sum_quantity_per_category_id.rs deleted file mode 100644 index 90dc990..0000000 --- a/backend/app/src/queries/transaction_categorisations/sum_quantity_per_category_id.rs +++ /dev/null @@ -1,17 +0,0 @@ -use budgeting_app_core::schema::transaction_categorisations::{ - self as transaction_categorisations_schema, - dsl::transaction_categorisations as transaction_categorisations_table, -}; -use diesel::{dsl::sum, result::Error, QueryDsl, RunQueryDsl, SqliteConnection}; - -pub fn sum_transaction_categorisation_quantity_per_category_id( - connection: &mut SqliteConnection, -) -> Result<Vec<(i32, Option<i64>)>, Error> { - transaction_categorisations_table - .group_by(transaction_categorisations_schema::category_id) - .select(( - transaction_categorisations_schema::category_id, - sum(transaction_categorisations_schema::quantity), - )) - .load::<(i32, Option<i64>)>(connection) -} |
