From e0d7cd9bbf02e7d52aadfb8d56f774a8a4099adf Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Mon, 9 Sep 2024 21:54:04 +0100 Subject: Improves backend schema --- backend/src/models/category_transaction.rs | 10 ---------- backend/src/models/mod.rs | 2 +- backend/src/models/transaction_categorisation.rs | 11 +++++++++++ backend/src/routes/account.rs | 2 -- backend/src/schema.rs | 16 +++++++++------- 5 files changed, 21 insertions(+), 20 deletions(-) delete mode 100644 backend/src/models/category_transaction.rs create mode 100644 backend/src/models/transaction_categorisation.rs (limited to 'backend/src') diff --git a/backend/src/models/category_transaction.rs b/backend/src/models/category_transaction.rs deleted file mode 100644 index 2163860..0000000 --- a/backend/src/models/category_transaction.rs +++ /dev/null @@ -1,10 +0,0 @@ -use diesel::prelude::*; - -#[derive(Queryable, Identifiable, Selectable, Debug, PartialEq)] -#[diesel(table_name = crate::schema::category_transactions)] -pub struct CategoryTransaction { - pub id: i32, - pub description: String, - pub quantity: i32, - pub category_id: i32, -} diff --git a/backend/src/models/mod.rs b/backend/src/models/mod.rs index f70212a..68f5209 100644 --- a/backend/src/models/mod.rs +++ b/backend/src/models/mod.rs @@ -1,6 +1,6 @@ pub mod account; pub mod budget_update; pub mod category; -pub mod category_transaction; pub mod category_transfer; pub mod transaction; +pub mod transaction_categorisation; diff --git a/backend/src/models/transaction_categorisation.rs b/backend/src/models/transaction_categorisation.rs new file mode 100644 index 0000000..d2867f1 --- /dev/null +++ b/backend/src/models/transaction_categorisation.rs @@ -0,0 +1,11 @@ +use diesel::prelude::*; + +#[derive(Queryable, Identifiable, Selectable, Debug, PartialEq)] +#[diesel(table_name = crate::schema::transaction_categorisations)] +pub struct TransactionCategorisations { + pub id: i32, + pub description: String, + pub quantity: i32, + pub transaction_id: i32, + pub category_id: i32, +} diff --git a/backend/src/routes/account.rs b/backend/src/routes/account.rs index e7f000c..418ec96 100644 --- a/backend/src/routes/account.rs +++ b/backend/src/routes/account.rs @@ -1,8 +1,6 @@ use diesel::prelude::*; use diesel::result::DatabaseErrorKind; -use rocket::error::ErrorKind; use rocket::serde::json::Json; -use rocket::tokio::sync::oneshot::error::RecvError; use rocket::{get, post, Responder}; use crate::databases::UserDataDb; diff --git a/backend/src/schema.rs b/backend/src/schema.rs index d98a629..942e913 100644 --- a/backend/src/schema.rs +++ b/backend/src/schema.rs @@ -29,21 +29,22 @@ diesel::table! { } diesel::table! { - category_transactions (id) { + category_transfers (id) { id -> Integer, description -> Text, quantity -> Integer, - category_id -> Integer, + from_category_id -> Integer, + to_category_id -> Integer, } } diesel::table! { - category_transfers (id) { + transaction_categorisations (id) { id -> Integer, description -> Text, quantity -> Integer, - from_category_id -> Integer, - to_category_id -> Integer, + transaction_id -> Integer, + category_id -> Integer, } } @@ -58,14 +59,15 @@ diesel::table! { } diesel::joinable!(budget_updates -> categories (category_id)); -diesel::joinable!(category_transactions -> categories (category_id)); +diesel::joinable!(transaction_categorisations -> categories (category_id)); +diesel::joinable!(transaction_categorisations -> transactions (transaction_id)); diesel::joinable!(transactions -> accounts (account_id)); diesel::allow_tables_to_appear_in_same_query!( accounts, budget_updates, categories, - category_transactions, category_transfers, + transaction_categorisations, transactions, ); -- cgit v1.2.3