From ee3cd780e21260257b401c3f5cbababd9e27a15a Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Wed, 13 Aug 2025 07:50:21 +0000 Subject: task-073 Co-authored-by: Joe Carstairs Reviewed-on: https://git.joeac.net/joeac/schist/pulls/1 Co-authored-by: Joe Carstairs Co-committed-by: Joe Carstairs --- schist_core/schist_models/src/bucket.rs | 29 ++++++++++++++++++++++ schist_core/schist_models/src/bucket_transfer.rs | 12 +++++++++ schist_core/schist_models/src/category.rs | 17 ------------- schist_core/schist_models/src/category_transfer.rs | 12 --------- schist_core/schist_models/src/lib.rs | 6 ++--- schist_core/schist_models/src/schema.rs | 1 + 6 files changed, 45 insertions(+), 32 deletions(-) create mode 100644 schist_core/schist_models/src/bucket.rs create mode 100644 schist_core/schist_models/src/bucket_transfer.rs delete mode 100644 schist_core/schist_models/src/category.rs delete mode 100644 schist_core/schist_models/src/category_transfer.rs (limited to 'schist_core/schist_models/src') diff --git a/schist_core/schist_models/src/bucket.rs b/schist_core/schist_models/src/bucket.rs new file mode 100644 index 0000000..f162405 --- /dev/null +++ b/schist_core/schist_models/src/bucket.rs @@ -0,0 +1,29 @@ +use derive_builder::Builder; +use diesel::prelude::*; +use serde::{Deserialize, Serialize}; + +use crate::{budget_period_unit::BudgetPeriodUnit, date_utc::DateUtc}; + +#[derive( + Builder, + Clone, + Queryable, + Identifiable, + Selectable, + Debug, + PartialEq, + Serialize, + Deserialize, + Insertable, +)] +#[diesel(table_name = crate::schema::categories)] +pub struct Bucket { + pub id: i32, + pub name: String, + pub balance: i32, + pub balance_date: DateUtc, + pub budget_period: i32, + pub budget_period_unit: BudgetPeriodUnit, + pub budget_quantity: i32, + pub group: String, +} diff --git a/schist_core/schist_models/src/bucket_transfer.rs b/schist_core/schist_models/src/bucket_transfer.rs new file mode 100644 index 0000000..5d2e268 --- /dev/null +++ b/schist_core/schist_models/src/bucket_transfer.rs @@ -0,0 +1,12 @@ +use derive_builder::Builder; +use diesel::prelude::*; + +#[derive(Builder, Queryable, Identifiable, Selectable, Debug, PartialEq, Insertable)] +#[diesel(table_name = crate::schema::category_transfers)] +pub struct BucketTransfer { + pub id: i32, + pub description: String, + pub quantity: i32, + pub from_category_id: i32, + pub to_category_id: i32, +} diff --git a/schist_core/schist_models/src/category.rs b/schist_core/schist_models/src/category.rs deleted file mode 100644 index e3c9938..0000000 --- a/schist_core/schist_models/src/category.rs +++ /dev/null @@ -1,17 +0,0 @@ -use derive_builder::Builder; -use diesel::prelude::*; -use serde::{Deserialize, Serialize}; - -use crate::{budget_period_unit::BudgetPeriodUnit, date_utc::DateUtc}; - -#[derive(Builder, Clone, Queryable, Identifiable, Selectable, Debug, PartialEq, Serialize, Deserialize, Insertable)] -#[diesel(table_name = crate::schema::categories)] -pub struct Category { - pub id: i32, - pub name: String, - pub balance: i32, - pub balance_date: DateUtc, - pub budget_period: i32, - pub budget_period_unit: BudgetPeriodUnit, - pub budget_quantity: i32, -} diff --git a/schist_core/schist_models/src/category_transfer.rs b/schist_core/schist_models/src/category_transfer.rs deleted file mode 100644 index 7b36054..0000000 --- a/schist_core/schist_models/src/category_transfer.rs +++ /dev/null @@ -1,12 +0,0 @@ -use derive_builder::Builder; -use diesel::prelude::*; - -#[derive(Builder, Queryable, Identifiable, Selectable, Debug, PartialEq, Insertable)] -#[diesel(table_name = crate::schema::category_transfers)] -pub struct CategoryTransfer { - pub id: i32, - pub description: String, - pub quantity: i32, - pub from_category_id: i32, - pub to_category_id: i32, -} diff --git a/schist_core/schist_models/src/lib.rs b/schist_core/schist_models/src/lib.rs index d9e93c4..db5c593 100644 --- a/schist_core/schist_models/src/lib.rs +++ b/schist_core/schist_models/src/lib.rs @@ -1,12 +1,12 @@ pub mod account; pub mod account_transfer; +pub mod bucket; +pub mod bucket_transfer; pub mod budget_drip; pub mod budget_period_unit; -pub mod category; -pub mod category_transfer; pub mod date_utc; pub mod datetime_utc; pub mod migrations; +pub mod schema; pub mod transaction; pub mod transaction_categorisation; -pub mod schema; diff --git a/schist_core/schist_models/src/schema.rs b/schist_core/schist_models/src/schema.rs index 1dd1391..40af56f 100644 --- a/schist_core/schist_models/src/schema.rs +++ b/schist_core/schist_models/src/schema.rs @@ -38,6 +38,7 @@ diesel::table! { budget_period -> Integer, budget_period_unit -> Text, budget_quantity -> Integer, + group -> Text, } } -- cgit v1.2.3