diff options
Diffstat (limited to 'schist_core/schist_models')
| -rw-r--r-- | schist_core/schist_models/Cargo.toml | 1 | ||||
| -rw-r--r-- | schist_core/schist_models/src/transaction.rs | 21 |
2 files changed, 22 insertions, 0 deletions
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<i32>, + 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), + } + } +} |
