summaryrefslogtreecommitdiff
path: root/schist_core
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2025-08-13 07:50:21 +0000
committerjoeac <me@joeac.net>2025-08-13 07:50:21 +0000
commitee3cd780e21260257b401c3f5cbababd9e27a15a (patch)
treeb0571649a1a1a7644dbc50183cc4c3a29966a963 /schist_core
parent49342e8b553d5c92f1c043b3b0ce18bdf1c2cd44 (diff)
task-073
Co-authored-by: Joe Carstairs <jcarstairs@scottlogic.com> Reviewed-on: https://git.joeac.net/joeac/schist/pulls/1 Co-authored-by: Joe Carstairs <me@joeac.net> Co-committed-by: Joe Carstairs <me@joeac.net>
Diffstat (limited to 'schist_core')
-rw-r--r--schist_core/schist_fakes/src/bucket.rs24
-rw-r--r--schist_core/schist_fakes/src/category.rs19
-rw-r--r--schist_core/schist_fakes/src/category_transfer.rs8
-rw-r--r--schist_core/schist_fakes/src/lib.rs2
-rw-r--r--schist_core/schist_models/src/bucket.rs (renamed from schist_core/schist_models/src/category.rs)16
-rw-r--r--schist_core/schist_models/src/bucket_transfer.rs (renamed from schist_core/schist_models/src/category_transfer.rs)2
-rw-r--r--schist_core/schist_models/src/lib.rs6
-rw-r--r--schist_core/schist_models/src/schema.rs1
8 files changed, 48 insertions, 30 deletions
diff --git a/schist_core/schist_fakes/src/bucket.rs b/schist_core/schist_fakes/src/bucket.rs
new file mode 100644
index 0000000..1b447b2
--- /dev/null
+++ b/schist_core/schist_fakes/src/bucket.rs
@@ -0,0 +1,24 @@
+use schist_models::{
+ bucket::{Bucket, BucketBuilder},
+ budget_period_unit::BudgetPeriodUnit,
+ date_utc::DateUtc,
+};
+use schist_traits::nowlike::Nowlike;
+
+pub fn make_fake_bucket(id: i32) -> Bucket {
+ make_fake_bucket_builder(id).build().unwrap()
+}
+
+pub fn make_fake_bucket_builder(id: i32) -> BucketBuilder {
+ let mut builder = BucketBuilder::default();
+ builder
+ .id(id)
+ .name(String::from("Fake bucket"))
+ .balance(0)
+ .balance_date(DateUtc::now())
+ .budget_period(0)
+ .budget_period_unit(BudgetPeriodUnit::Day)
+ .budget_quantity(0)
+ .group(String::from("Fake group"));
+ builder
+}
diff --git a/schist_core/schist_fakes/src/category.rs b/schist_core/schist_fakes/src/category.rs
deleted file mode 100644
index c64818d..0000000
--- a/schist_core/schist_fakes/src/category.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-use schist_models::{budget_period_unit::BudgetPeriodUnit, category::{Category, CategoryBuilder}, date_utc::DateUtc};
-use schist_traits::nowlike::Nowlike;
-
-pub fn make_fake_category(id: i32) -> Category {
- make_fake_category_builder(id).build().unwrap()
-}
-
-pub fn make_fake_category_builder(id: i32) -> CategoryBuilder {
- let mut builder = CategoryBuilder::default();
- builder
- .id(id)
- .name(String::from("Fake category"))
- .balance(0)
- .balance_date(DateUtc::now())
- .budget_period(0)
- .budget_period_unit(BudgetPeriodUnit::Day)
- .budget_quantity(0);
- builder
-}
diff --git a/schist_core/schist_fakes/src/category_transfer.rs b/schist_core/schist_fakes/src/category_transfer.rs
index c28dffb..a16d238 100644
--- a/schist_core/schist_fakes/src/category_transfer.rs
+++ b/schist_core/schist_fakes/src/category_transfer.rs
@@ -1,11 +1,11 @@
-use schist_models::category_transfer::{CategoryTransfer, CategoryTransferBuilder};
+use schist_models::bucket_transfer::{BucketTransfer, BucketTransferBuilder};
-pub fn make_fake_category_transfer(id: i32) -> CategoryTransfer {
+pub fn make_fake_category_transfer(id: i32) -> BucketTransfer {
make_fake_category_transfer_builder(id).build().unwrap()
}
-pub fn make_fake_category_transfer_builder(id: i32) -> CategoryTransferBuilder {
- let mut builder = CategoryTransferBuilder::default();
+pub fn make_fake_category_transfer_builder(id: i32) -> BucketTransferBuilder {
+ let mut builder = BucketTransferBuilder::default();
builder
.id(id)
.description(String::from("Fake category transfer"))
diff --git a/schist_core/schist_fakes/src/lib.rs b/schist_core/schist_fakes/src/lib.rs
index 6e20c31..4a22169 100644
--- a/schist_core/schist_fakes/src/lib.rs
+++ b/schist_core/schist_fakes/src/lib.rs
@@ -1,7 +1,7 @@
pub mod account;
pub mod account_transfer;
+pub mod bucket;
pub mod budget_drip;
-pub mod category;
pub mod category_transfer;
pub mod transaction;
pub mod transaction_categorisation;
diff --git a/schist_core/schist_models/src/category.rs b/schist_core/schist_models/src/bucket.rs
index e3c9938..f162405 100644
--- a/schist_core/schist_models/src/category.rs
+++ b/schist_core/schist_models/src/bucket.rs
@@ -4,9 +4,20 @@ use serde::{Deserialize, Serialize};
use crate::{budget_period_unit::BudgetPeriodUnit, date_utc::DateUtc};
-#[derive(Builder, Clone, Queryable, Identifiable, Selectable, Debug, PartialEq, Serialize, Deserialize, Insertable)]
+#[derive(
+ Builder,
+ Clone,
+ Queryable,
+ Identifiable,
+ Selectable,
+ Debug,
+ PartialEq,
+ Serialize,
+ Deserialize,
+ Insertable,
+)]
#[diesel(table_name = crate::schema::categories)]
-pub struct Category {
+pub struct Bucket {
pub id: i32,
pub name: String,
pub balance: i32,
@@ -14,4 +25,5 @@ pub struct Category {
pub budget_period: i32,
pub budget_period_unit: BudgetPeriodUnit,
pub budget_quantity: i32,
+ pub group: String,
}
diff --git a/schist_core/schist_models/src/category_transfer.rs b/schist_core/schist_models/src/bucket_transfer.rs
index 7b36054..5d2e268 100644
--- a/schist_core/schist_models/src/category_transfer.rs
+++ b/schist_core/schist_models/src/bucket_transfer.rs
@@ -3,7 +3,7 @@ use diesel::prelude::*;
#[derive(Builder, Queryable, Identifiable, Selectable, Debug, PartialEq, Insertable)]
#[diesel(table_name = crate::schema::category_transfers)]
-pub struct CategoryTransfer {
+pub struct BucketTransfer {
pub id: i32,
pub description: String,
pub quantity: 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,
}
}