summaryrefslogtreecommitdiff
path: root/rust/core/src/models/transaction.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-11-17 09:23:28 +0000
committerJoe Carstairs <me@joeac.net>2024-11-17 09:23:28 +0000
commit1ae19eb3315c40e3f9062592c27fa76c11cf626c (patch)
tree09d9ce380795971f4b50e1d4b0ca3c57c9e1db1a /rust/core/src/models/transaction.rs
parent1a494937021561595d0fb29e26fb707aef9e55de (diff)
Renames workspace folder
Diffstat (limited to 'rust/core/src/models/transaction.rs')
-rw-r--r--rust/core/src/models/transaction.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/rust/core/src/models/transaction.rs b/rust/core/src/models/transaction.rs
new file mode 100644
index 0000000..18a4c0e
--- /dev/null
+++ b/rust/core/src/models/transaction.rs
@@ -0,0 +1,18 @@
+use derive_builder::Builder;
+use diesel::prelude::*;
+
+use crate::models::account::Account;
+
+use super::datetime_utc::DatetimeUtc;
+
+#[derive(Builder, Queryable, Identifiable, Selectable, Insertable, Associations, Debug, PartialEq)]
+#[diesel(table_name = crate::schema::transactions)]
+#[diesel(belongs_to(Account))]
+pub struct Transaction {
+ pub id: i32,
+ pub description: String,
+ pub payee: String,
+ pub quantity: i32,
+ pub date: DatetimeUtc,
+ pub account_id: i32,
+}