From a511d72248d20ba2fcb436b58ee2459d422d80b7 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Sat, 29 Aug 2026 15:19:15 +0100 Subject: task-001: adds Transaction::new() with RNG for id field --- schist_core/schist_models/Cargo.toml | 1 + schist_core/schist_models/src/transaction.rs | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'schist_core') diff --git a/schist_core/schist_models/Cargo.toml b/schist_core/schist_models/Cargo.toml index 51ac324..c20896c 100644 --- a/schist_core/schist_models/Cargo.toml +++ b/schist_core/schist_models/Cargo.toml @@ -9,6 +9,7 @@ chrono = { workspace = true, features = ["serde"] } derive_builder = { workspace = true } diesel = { workspace = true, features = ["sqlite"] } diesel_migrations = { workspace = true } +rand = { workspace = true } schist_traits = { path = "../schist_traits" } serde = { workspace = true, features = ["derive"] } diff --git a/schist_core/schist_models/src/transaction.rs b/schist_core/schist_models/src/transaction.rs index ef0a0ab..5b75b22 100644 --- a/schist_core/schist_models/src/transaction.rs +++ b/schist_core/schist_models/src/transaction.rs @@ -26,3 +26,24 @@ pub struct Transaction { pub date: DateUtc, pub description: String, } + +impl Transaction { + pub fn new( + account_id: i32, + amount: i32, + bucket_id: Option, + counterparty: &str, + date: DateUtc, + description: &str, + ) -> Self { + Self { + id: rand::random(), + account_id, + amount, + bucket_id, + counterparty: String::from(counterparty), + date, + description: String::from(description), + } + } +} -- cgit v1.2.3